From 351ae3138e67bbcc8bcd9aef8dc696ad739bda82 Mon Sep 17 00:00:00 2001 From: geoffk Date: Wed, 4 Feb 2004 23:58:48 +0000 Subject: [PATCH] Partial merge from upstream: * ltmain.in: When setting IFS to '~', be careful about user arguments that contain '~'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77279 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog | 13 +++++++++++++ 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 + + Merge from upstream: + + * ltmain.in: When setting IFS to '~', be careful about user + arguments that contain '~'. + + 2004-02-04 Peter O'Gorman + + * 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 . + 2004-02-04 Kazu Hirata * 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 -- 2.11.0