diff options
author | Dan McGee <dan@archlinux.org> | 2011-01-28 18:38:58 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-01-28 18:42:35 +0100 |
commit | 7f93f0620c44a811aa7989f6d2ed1bf4ba275d62 (patch) | |
tree | 51c964d04e4aafaf05353d9440f1a53b6834a291 | |
parent | fe76c353af6d91ce9f225dc2b0195a689f6790da (diff) | |
download | pacman-7f93f0620c44a811aa7989f6d2ed1bf4ba275d62.tar.gz pacman-7f93f0620c44a811aa7989f6d2ed1bf4ba275d62.tar.xz |
Fix libtool performance regression with many arguments
Reported and fixed upstream, patching our version for now until a future
release fixes it:
* http://lists.gnu.org/archive/html/bug-libtool/2011-01/msg00007.html
* http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=286e87b1030c353d9cfc89dbb72d59e0391cb693
Signed-off-by: Dan McGee <dan@archlinux.org>
-rwxr-xr-x | ltmain.sh | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -3982,14 +3982,17 @@ func_exec_program_core () # launches target application with the remaining arguments. func_exec_program () { - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac func_exec_program_core \${1+\"\$@\"} } |