+2008-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Disallow `-L path', do not misparse it silently.
+ * libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L'
+ without argument, and `-L path', i.e., with a space.
+ * tests/fail.at (Failure tests): Test for these failures.
+ * THANKS: Update.
+ Report by Olaf Lenz.
+
2008-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid test failure due to broken dlpreloading of shared library.
Michael Haubenwallner michael.haubenwallner@salomon.at
Mike Frysinger vapier@gentoo.org
Nix nix@esperi.org.uk
+ Olaf Lenz olenz@fias.uni-frankfurt.de
Olly Betts olly@muscat.co.uk
Patrick Welche prlw1@newn.cam.ac.uk
Paul Eggert eggert@twinsun.com
-L*)
func_stripname '-L' '' "$arg"
dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test $# -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
# fail.at -- test that libtool really fail when it should -*- Autotest -*-
#
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2008 Free Software Foundation, Inc.
# Written by Ralf Wildenhues, 2005
#
# This file is part of GNU Libtool.
;;
esac
+# Ensure we diagnose '-L path'.
+echo 'int main () { return 0; }' > d.c
+echo 'int foo () { return 0; }' > space-after-L.c
+$CC $CPPFLAGS $CFLAGS -c d.c
+$CC $CPPFLAGS $CFLAGS -c space-after-L.c
+FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d d.$OBJEXT])
+FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d d.$OBJEXT -L])
+
m4_popdef([FAIL_CHECK])
AT_CLEANUP