mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
This commit is contained in:
parent
b188543381
commit
9a801684f6
11
ChangeLog
11
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.
|
||||
|
1
THANKS
1
THANKS
@ -158,6 +158,7 @@
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user