]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Fix versioning test for LDFLAGS=-Wl,--as-needed.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Mon, 7 Jun 2010 20:30:44 +0000 (22:30 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Mon, 7 Jun 2010 20:31:26 +0000 (22:31 +0200)
* tests/versioning.at (versioning): For the library update
hypotheses, ensure the unchanged library libb isn't accidentally
relinked against the new liba, by not reinstalling libb.
Fixes testsuite failure for the incompatible update case with
LDFLAGS=-Wl,--as-needed.
* THANKS: Update.
Report by Ryan Hill.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
THANKS
tests/versioning.at

index b79b004fdf03e1bae9774d6b3dd3f09f49433dfa..f1aab551f23e1d5c0b286d450f574ec9ee58f944 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-06-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Fix versioning test for LDFLAGS=-Wl,--as-needed.
+       * tests/versioning.at (versioning): For the library update
+       hypotheses, ensure the unchanged library libb isn't accidentally
+       relinked against the new liba, by not reinstalling libb.
+       Fixes testsuite failure for the incompatible update case with
+       LDFLAGS=-Wl,--as-needed.
+       * THANKS: Update.
+       Report by Ryan Hill.
+
 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        Rewrite manual intro to be gender-neutral.
diff --git a/THANKS b/THANKS
index 529a69900c9f6fb13354c832473bc9f6d752e984..14ab56b5f8b52602193e56dc741d89b789f93751 100644 (file)
--- a/THANKS
+++ b/THANKS
   Roland Mainz                 roland.mainz@nrubsig.org
   Roumen Petrov                        bugtrack@roumenpetrov.info
   Rudolf Leitgeb               r.leitgeb@x-pin.com
+  Ryan Hill                    dirtyepic@gentoo.org
   Sam Thursfield               ssssam@gmail.com
   Scott McCreary               scottmc2@gmail.com
   Sebastian Wilhelmi           wilhelmi@ira.uka.de
index 136a549a49231266ef4ab46339bf80720bceebd6..31f294ec022bf698d45fbfcd120608366b1913df 100644 (file)
@@ -1,6 +1,6 @@
 # versioning.at -- test libtool versioning           -*- Autotest -*-
 #
-#   Copyright (C) 2009 Free Software Foundation, Inc.
+#   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 #
 #   This file is part of GNU Libtool.
 #
@@ -190,18 +190,17 @@ AT_CHECK([$LIBTOOL --mode=uninstall rm -f $libdir/liba.la], [], [ignore], [ignor
 
 
 # Hypothesis: library revision updates do not require (uninstalled
-# nor installed) programs to be relinked.
+# nor installed) programs or libraries to be relinked.
 AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo ]dnl
         [-version-info 0:1:0 -rpath $libdir], [], [ignore], [ignore])
 test_uninstalled
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
-        [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
 AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
 test_installed
 # do not uninstall here: the library may be reused in the next test.
 
 # Hypothesis: backward compatible library updates do not require
-# (uninstalled nor installed) programs to be relinked.
+# (uninstalled nor installed) programs or libraries to be relinked.
 # This can have one of several reasons:
 # - the soname is the difference between $current and $age, thus
 #   unchanged; in this case, the newly installed library will be used,
@@ -212,26 +211,26 @@ test_installed
 AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo ]dnl
         [-version-info 1:0:1 -rpath $libdir], [], [ignore], [ignore])
 # Do not test the uninstalled program, it may be broken (in the second case).
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
-        [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
 AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
 test_installed
 # do not uninstall here: the library may be reused in the next test.
 
 
 # Hypothesis: with shared libraries, incompatible library updates
-# will not cause old installed programs (linked against the old
+# will not cause old installed programs or libraries (linked against the old
 # library version) to break.
 # This can have one of several reasons:
 # - the soname has changed, so the old installed library will still be
 #   available,
 # - we are linking statically, so the old library code will still be used.
+# In order to be sure we are still linking against the old library version,
+# we must ensure that libb is not relinked, so we must not reinstall libb here.
 AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo ]dnl
         [-version-info 2:0:0 -rpath $libdir], [], [ignore], [ignore])
 # We do not guarantee that old versions of an uninstalled library are still
 # available, so test_uninstalled will not necessarily work here any more.
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
-        [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
 AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
 test_installed