summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-01-28 18:38:58 +0100
committerDan McGee <dan@archlinux.org>2011-01-28 18:42:35 +0100
commit7f93f0620c44a811aa7989f6d2ed1bf4ba275d62 (patch)
tree51c964d04e4aafaf05353d9440f1a53b6834a291
parentfe76c353af6d91ce9f225dc2b0195a689f6790da (diff)
downloadpacman-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-xltmain.sh19
1 files changed, 11 insertions, 8 deletions
diff --git a/ltmain.sh b/ltmain.sh
index 3061e3c5..6c02b188 100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -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+\"\$@\"}
}