From: Ralf Wildenhues Date: Mon, 22 Nov 2004 15:43:44 +0000 (+0000) Subject: * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: X-Git-Tag: release-2-1b~851 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e437f30432bd9432ca9f0c480257ea5bcb7b372;p=thirdparty%2Flibtool.git * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: Make sure the argument to `-objectlist' may contain spaces. --- diff --git a/ChangeLog b/ChangeLog index 91abef979..d08df833c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-11-22 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: + Make sure the argument to `-objectlist' may contain spaces. + 2004-11-19 Gary V. Vaughan * config/m4general.m4sh, config/mailnotify.m4sh, diff --git a/config/ltmain.m4sh b/config/ltmain.m4sh index dce013b25..79788a786 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -2292,7 +2292,7 @@ func_mode_link () if test -f "$arg"; then save_arg=$arg moreargs= - for fil in `cat $save_arg` + for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 4240a5eb0..744443fdc 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -4120,11 +4120,11 @@ _LT_EOF ;; solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z text' + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -z text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$ECHO "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared -z text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) diff --git a/tests/demo-nopic.test b/tests/demo-nopic.test index 0aa901c5e..c7133c3d6 100755 --- a/tests/demo-nopic.test +++ b/tests/demo-nopic.test @@ -27,6 +27,9 @@ case "$host" in hppa*|x86_64*|s390*) func_skip "$host doesn't like non-PIC shared libs" ;; + *-solaris*|*-sunos*) + func_skip "libtool does not build non-PIC shared libs on $host_os" + ;; esac func_rmprefixdir diff --git a/tests/objectlist.test b/tests/objectlist.test index 35325376e..9b471a885 100755 --- a/tests/objectlist.test +++ b/tests/objectlist.test @@ -1,6 +1,6 @@ #! /bin/sh # objectlist.test - make sure that a nonexisting objectlist file is -# properly mentioned +# properly mentioned and that the argument may contain spaces. # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO @@ -28,10 +28,19 @@ linkresult=`$LIBTOOL -n --mode=link $CC -objectlist nonexistant 2>&1` test $? -eq 0 && exit $EXIT_FAILURE -echo ".$linkresult." echo "$linkresult" | ${EGREP} "nonexistant" >/dev/null 2>&1 && { func_msg "$progname: error message contains -objectlist argument as expected" - exit $EXIT_SUCCESS -} +} || exit $EXIT_FAILURE -exit $EXIT_FAILURE + +objlist="object list with spaces" +: > "$objlist" +linkresult=`$LIBTOOL -n --mode=link $CC -o a.out -objectlist "$objlist" 2>&1` +rm -f "$objlist" + +echo "$linkresult" | ${EGREP} "spaces" >/dev/null 2>&1 && { + func_msg "$progname: -objectlist with spaces in filename not recognized." + exit $EXIT_FAILURE +} + +exit $EXIT_SUCCESS