core/libtool to 2.4.6+59+gb55b1cc8-2

This commit is contained in:
Kevin Mihelich 2022-02-15 00:46:26 +00:00
parent 7a052491e6
commit a6fa360bc9
2 changed files with 71 additions and 6 deletions

View file

@ -1,4 +1,6 @@
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
@ -12,9 +14,9 @@
noautobuild=1
pkgname=libtool
pkgver=2.4.6+44+gb9b44533
pkgrel=16
_gccver=11.1.0
pkgver=2.4.6+59+gb55b1cc8
pkgrel=2
_gccver=11.2.0
pkgdesc='A generic library support script'
arch=(x86_64)
url='https://www.gnu.org/software/libtool'
@ -26,17 +28,19 @@ checkdepends=(gcc-fortran)
provides=("libltdl=$pkgver")
conflicts=(libltdl)
replaces=(libltdl)
options=('!distcc')
_commit=b9b44533fbf7c7752ffd255c3d09cc360e24183b
options=(!distcc)
_commit=b55b1cc8419b544b5cc3e1c204b2ce85112ed762
source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit
git+https://git.savannah.gnu.org/git/gnulib.git
gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git
no_hostname.patch
disable-lto-link-order2.patch
armv7h-nopic.patch)
sha256sums=('SKIP'
'SKIP'
'SKIP'
'693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946'
'b6dce6681f223b18a90614edbcdeb00f228abd1216e22c4bd07285321cd2ceb7'
'0e19dec2dabc958ef5d1bcfd0879174766c5783032319fc17d5d6692b2b397c8')
pkgver() {
@ -49,6 +53,11 @@ prepare() {
patch -Np1 -i ${srcdir}/no_hostname.patch
# test 67 is broken with lto
# this patch removes the -flto flag for this very test
# adapt when -ffat-lto-objects is enabled by Arch
patch -Np1 -i ${srcdir}/disable-lto-link-order2.patch
git submodule init
git config --local submodule.gnulib.url "$srcdir/gnulib"
git config --local submodule.gl-mod/bootstrap.url "$srcdir/gnulib-bootstrap"

View file

@ -0,0 +1,56 @@
This patch is derived from
https://src.fedoraproject.org/rpms/libtool/blob/rawhide/f/libtool-2.4.6-disable-lto-link-order2.patch
Enabling lto will result in failure during test phase, to be precise test 67 will cause it.
Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase.
I'm not sure if this is expected.
Most distribution disables this test. We try to keep it by stripping lto flags for it.
Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427
--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100
+++ b/tests/link-order2.at 2021-11-30 02:01:09.574451906 +0100
@@ -47,6 +47,8 @@
AT_KEYWORDS([libtool])
AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window.
+NO_LTO_CFLAGS=${CFLAGS/ -flto}
+
eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='`
undefined_setting=-no-undefined
@@ -89,12 +91,12 @@
EOF
for file in a0 a1 b; do
- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c
done
-$CC $CPPFLAGS $CFLAGS -c main.c
+$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c
# Build an old, installed library.
-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
+$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
$LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la
$LIBTOOL --mode=clean rm -f liba0.la
@@ -118,13 +120,13 @@
esac
test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" &&
static=-all-static
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
[], [ignore], [ignore])
LT_AT_EXEC_CHECK([./main])
# Now test that if we reverse the link order, the program fails.
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
[], [ignore], [ignore])
if test yes, != "$shared_fails,$static"; then
LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)])