diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-02-04 23:58:48 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-02-04 23:58:48 +0000 |
commit | 892629bc47f374f6e8c5880bc6ce361edeadebf7 (patch) | |
tree | dd0697f7face4322dc60e123851bf7b7b697f5bc | |
parent | 3c241c19b0770d5f13dcdb7353f3e66fab2a8de1 (diff) | |
download | gcc-892629bc47f374f6e8c5880bc6ce361edeadebf7.tar.gz |
Partial merge from upstream:
* ltmain.in: When setting IFS to '~', be careful about user
arguments that contain '~'.
From-SVN: r77279
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | ltmain.sh | 22 |
2 files changed, 27 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 687b3ba2008..b2dd44b563c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-02-04 Geoffrey Keating <geoffk@apple.com> + + Merge from upstream: + + * ltmain.in: When setting IFS to '~', be careful about user + arguments that contain '~'. + + 2004-02-04 Peter O'Gorman <peter@pogma.com> + + * ltmain.in (infer_tag): Move tag inferrence to a shell function. + Also test $base_compile against $CC with escaped arguments. Bug + reported by Geoff Keating <geoffk@apple.com>. + 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> * MAINTAINERS: Remove i960 port. diff --git a/ltmain.sh b/ltmain.sh index 5ccf95c7d1d..c1ef9974d0e 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -2106,9 +2106,10 @@ EOF else $show "extracting exported symbol list from \`$soname'" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - eval cmds=\"$extract_expsyms_cmds\" + cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" + eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done @@ -2119,9 +2120,10 @@ EOF if test -f "$output_objdir/$newlib"; then :; else $show "generating import library for \`$soname'" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - eval cmds=\"$old_archive_from_expsyms_cmds\" + cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" + eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done @@ -3249,11 +3251,13 @@ EOF # Do each of the archive commands. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds else - eval cmds=\"$archive_cmds\" + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds fi - if len=`expr "X$cmds" : ".*"` && + if len=`expr "X$test_cmds" : ".*"` && test $len -le $max_cmd_len; then : else @@ -3329,6 +3333,7 @@ EOF IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" + eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done @@ -3346,9 +3351,9 @@ EOF # Do each of the archive commands. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds fi # Append the command to remove the reloadable object files @@ -3358,6 +3363,7 @@ EOF IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" + eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done |