libtool: 2.4.7 -> 2.5.0

Whilst this is an alpha release, it makes sense for us to
stay close to upstream.

We can drop a lot of merged patches which is great to see.

During testing, one bug showed up, particularly on mip64 due
to an issue with FILECMD being changed to use AC_CHECK_PROG
incorredly. A patch has been added for that and sent upstream.

(From OE-Core rev: d572297c5810fb248af633014eac96f8ea0a739e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-05-31 17:07:26 +01:00
parent 652e3028d9
commit 80d4ed954a
20 changed files with 96 additions and 343 deletions

View File

@@ -8,26 +8,22 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://libltdl/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c "
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
SRC_URI = "https://alpha.gnu.org/gnu/libtool/libtool-${PV}.tar.gz \
file://0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch \
file://0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch \
file://0003-ltmain.in-Add-missing-sysroot-to-library-path.patch \
file://0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch \
file://0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch \
file://dont-depend-on-help2man.patch \
file://0003-libtool.m4-Cleanup-sysroot-trailing.patch \
file://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \
file://nohardcodepaths.patch \
file://0007-libtool-Fix-support-for-NIOS2-processor.patch \
file://0008-libtool-Check-for-static-libs-for-internal-compiler-.patch \
file://0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
file://0010-Makefile.am-make-sure-autoheader-run-before-automake.patch \
file://0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch \
file://0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch \
file://0001-ltmain.in-Parse-additional-clang-options.patch \
file://nohardcodepaths.patch \
file://filefix.patch \
"
SRC_URI[sha256sum] = "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8"
SRC_URI[sha256sum] = "d438c317455d85554ce2f998be48866fd40cfcbf834d60b3026f4fc0ed583d23"
do_compile:prepend () {
# Sometimes this file doesn't get rebuilt, force the issue

View File

@@ -14,11 +14,11 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00010.html]
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index a5f21a1..f884824 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -2381,8 +2381,14 @@ func_mode_install ()
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -2382,8 +2382,14 @@ func_mode_install ()
func_append dir "$objdir"
if test -n "$relink_command"; then
@@ -34,6 +34,3 @@ index a5f21a1..f884824 100644
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that
--
2.25.1

View File

@@ -1,33 +0,0 @@
ltmain.in: Parse additional clang options
clang uses -rtlib and --unwindlib to select proper compiler
runtime in some cases. Therefore pass these options to linker when found in
ldflags
* build-aux/ltmain.in: Handle clang linker options
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=725646bf095bf5c07c49ae38dd060f95bd95ae3c]
---
build-aux/ltmain.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 037f009..ba5c816 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5414,10 +5414,12 @@ func_mode_link ()
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
# -f{file|debug|macro|profile}-prefix-map* needed for lto linking
+ # -rtlib=* select c runtime lib with clang
+ # --unwindlib=* select unwinder library with clang
# -Wa,* Pass flags directly to the assembler
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-rtlib=*|--unwindlib=*| \
-specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result

View File

@@ -13,11 +13,11 @@ http://lists.gnu.org/archive/html/libtool/2010-10/msg00048.html
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00014.html]
Index: libtool-2.4.7/m4/libtool.m4
Index: libtool-2.5.0/m4/libtool.m4
===================================================================
--- libtool-2.4.7.orig/m4/libtool.m4
+++ libtool-2.4.7/m4/libtool.m4
@@ -1244,28 +1244,28 @@ _LT_DECL([], [ECHO], [1], [An echo progr
--- libtool-2.5.0.orig/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4
@@ -1243,16 +1243,16 @@ _LT_DECL([], [ECHO], [1], [An echo progr
AC_DEFUN([_LT_WITH_SYSROOT],
[m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([for sysroot])
@@ -37,7 +37,8 @@ Index: libtool-2.4.7/m4/libtool.m4
+case $with_libtool_sysroot in #(
yes)
if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
# Trim trailing / since we'll always append absolute paths and we want
@@ -1261,12 +1261,12 @@ case $with_sysroot in #(
fi
;; #(
/*)
@@ -52,10 +53,10 @@ Index: libtool-2.4.7/m4/libtool.m4
AC_MSG_ERROR([The sysroot must be an absolute path.])
;;
esac
Index: libtool-2.4.7/tests/sysroot.at
Index: libtool-2.5.0/tests/sysroot.at
===================================================================
--- libtool-2.4.7.orig/tests/sysroot.at
+++ libtool-2.4.7/tests/sysroot.at
--- libtool-2.5.0.orig/tests/sysroot.at
+++ libtool-2.5.0/tests/sysroot.at
@@ -65,7 +65,7 @@ while read file; do
done])
@@ -83,11 +84,11 @@ Index: libtool-2.4.7/tests/sysroot.at
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
]])
diff --git a/tests/testsuite b/tests/testsuite
index 24265e4..d388e3e 100755
--- a/tests/testsuite
+++ b/tests/testsuite
@@ -48997,7 +48997,7 @@ $at_traceon; }
Index: libtool-2.5.0/tests/testsuite
===================================================================
--- libtool-2.5.0.orig/tests/testsuite
+++ libtool-2.5.0/tests/testsuite
@@ -49054,7 +49054,7 @@ $at_traceon; }
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -96,7 +97,7 @@ index 24265e4..d388e3e 100755
#???
if test PATH = "$shlibpath_var"; then
@@ -49211,7 +49211,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -49269,7 +49269,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([lib2.c])
LT_INIT
@@ -105,7 +106,7 @@ index 24265e4..d388e3e 100755
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
_ATEOF
@@ -49404,7 +49404,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -49463,7 +49463,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([prog.c])
LT_INIT
@@ -114,7 +115,7 @@ index 24265e4..d388e3e 100755
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
_ATEOF
@@ -49761,7 +49761,7 @@ $at_traceon; }
@@ -49821,7 +49821,7 @@ $at_traceon; }
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -123,7 +124,7 @@ index 24265e4..d388e3e 100755
#???
if test PATH = "$shlibpath_var"; then
@@ -49975,7 +49975,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -50036,7 +50036,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([lib2.c])
LT_INIT
@@ -132,7 +133,7 @@ index 24265e4..d388e3e 100755
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
_ATEOF
@@ -50168,7 +50168,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -50230,7 +50230,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([prog.c])
LT_INIT
@@ -141,7 +142,7 @@ index 24265e4..d388e3e 100755
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
_ATEOF
@@ -50525,7 +50525,7 @@ $at_traceon; }
@@ -50588,7 +50588,7 @@ $at_traceon; }
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -150,7 +151,7 @@ index 24265e4..d388e3e 100755
#???
if test PATH = "$shlibpath_var"; then
@@ -50739,7 +50739,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -50803,7 +50803,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([lib2.c])
LT_INIT
@@ -159,7 +160,7 @@ index 24265e4..d388e3e 100755
AC_SUBST([sysroot])
AC_OUTPUT(Makefile)
_ATEOF
@@ -50932,7 +50932,7 @@ AM_INIT_AUTOMAKE([foreign])
@@ -50997,7 +50997,7 @@ AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_SRCDIR([prog.c])
LT_INIT

View File

@@ -1,37 +0,0 @@
libtool.m4: Cleanup sysroot trailing "/"
If $CC has --sysroot=/, it is a valid configuration however libtool will
then set lt_sysroot to "/".
This means references like $lt_sysroot$libdir become //usr/lib instead
of the more normally expected /usr/lib. This may or may not break something
but certainly is confusing to the user and gives confusing output. Making
"/" simply unset lt_sysroot is much cleaner.
Whilst here, trim any trailing '/' from sysroot paths to drop the duplication
and result in cleaner/consistent output.
* m4/libtool.m4: Cleanup sysroot trailing '/' handling
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=365805327c7b9bbdb0e622b954b6b0d8eaeb3f99]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
m4/libtool.m4 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index fa1ae91..2f31d24 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1256,7 +1256,9 @@ lt_sysroot=
case $with_libtool_sysroot in #(
yes)
if test yes = "$GCC"; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ # Trim trailing / since we'll always append absolute paths and we want
+ # to avoid //, if only for less confusing output for the user.
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
fi
;; #(
/*)

View File

@@ -8,13 +8,14 @@ i.e. when lt_sysroot is not set, it will still behave the same and add
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00017.html]
Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00017.html]
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=3221f9f0fb98d5740ab5d0e8db6a731302520644]
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index f884824..25a91de 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6503,7 +6503,7 @@ func_mode_link ()
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -6514,7 +6514,7 @@ func_mode_link ()
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
@@ -23,6 +24,3 @@ index f884824..25a91de 100644
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
--
2.25.1

View File

@@ -9,11 +9,11 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html]
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 25a91de..40cb94a 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -7682,9 +7682,11 @@ EOF
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -7584,9 +7584,11 @@ func_mode_link ()
test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
@@ -27,7 +27,7 @@ index 25a91de..40cb94a 100644
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
else
@@ -8414,6 +8416,10 @@ EOF
@@ -8316,6 +8318,10 @@ func_mode_link ()
hardcode_libdirs=
for libdir in $compile_rpath $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
@@ -38,7 +38,7 @@ index 25a91de..40cb94a 100644
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
@@ -8465,6 +8471,10 @@ EOF
@@ -8367,6 +8373,10 @@ func_mode_link ()
hardcode_libdirs=
for libdir in $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
@@ -49,6 +49,3 @@ index 25a91de..40cb94a 100644
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir
--
2.25.1

View File

@@ -12,11 +12,11 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 40cb94a..2fa055e 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -7700,8 +7700,16 @@ EOF
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -7602,8 +7602,16 @@ func_mode_link ()
esac
fi
else
@@ -35,7 +35,7 @@ index 40cb94a..2fa055e 100644
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8434,8 +8442,16 @@ EOF
@@ -8336,8 +8344,16 @@ func_mode_link ()
esac
fi
else
@@ -54,7 +54,7 @@ index 40cb94a..2fa055e 100644
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8489,8 +8505,14 @@ EOF
@@ -8391,8 +8407,14 @@ func_mode_link ()
esac
fi
else
@@ -71,6 +71,3 @@ index 40cb94a..2fa055e 100644
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
--
2.25.1

View File

@@ -10,11 +10,11 @@ Upstream-Status: Inappropriate [Upstream are unlikely to accept this change of d
m4/libtool.m4 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 2f31d24..bd90775 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1254,18 +1254,18 @@ dnl lt_sysroot will always be passed unquoted. We quote it here
Index: libtool-2.5.0/m4/libtool.m4
===================================================================
--- libtool-2.5.0.orig/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4
@@ -1253,18 +1253,18 @@ dnl lt_sysroot will always be passed unq
dnl in case the user passed a directory name.
lt_sysroot=
case $with_libtool_sysroot in #(

View File

@@ -1,60 +0,0 @@
libtool: Fix support for NIOS2 processor
The name of the system contains the string "nios2". This string
is caught by the some of the greedy checks for OS/2 in libtool,
in particular the *os2* branches of switch statements match for
the nios2 string, which results in incorrect behavior of libtool.
Switch to use $host_os instead of $host and tweak the patterns to
match to avoid this problem for nios2.
* build-aux/ltmain.in: Fix NIOS2 support
---
build-aux/ltmain.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Submitted: https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html
Reworked and submitted: https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00068.html
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=49e6cb0d4dfdca2a59b909dc4532fe22dbc57ad5]
Index: libtool-2.4.7/build-aux/ltmain.in
===================================================================
--- libtool-2.4.7.orig/build-aux/ltmain.in
+++ libtool-2.4.7/build-aux/ltmain.in
@@ -518,10 +518,10 @@ libtool_validate_options ()
# preserve --debug
test : = "$debug_cmd" || func_append preserve_args " --debug"
- case $host in
+ case $host_os in
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ cygwin* | mingw* | pw32* | cegcc* | solaris2* | os2*)
# don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=:
;;
@@ -6273,8 +6273,8 @@ func_mode_link ()
fi
if test -n "$library_names" &&
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
- case $host in
- *cygwin* | *mingw* | *cegcc* | *os2*)
+ case $host_os in
+ cygwin* | mingw* | cegcc* | os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
@@ -6343,8 +6343,8 @@ func_mode_link ()
soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
- case $host in
- *cygwin* | mingw* | *cegcc* | *os2*)
+ case $host_os in
+ cygwin* | mingw* | cegcc* | os2*)
func_arith $current - $age
major=$func_arith_result
versuffix=-$major

View File

@@ -15,19 +15,16 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html]
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index bd90775..3794130 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -7556,7 +7556,7 @@ if AC_TRY_EVAL(ac_compile); then
Index: libtool-2.5.0/m4/libtool.m4
===================================================================
--- libtool-2.5.0.orig/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4
@@ -7553,7 +7553,7 @@ if AC_TRY_EVAL(ac_compile); then
for p in `eval "$output_verbose_link_cmd"`; do
case $prev$p in
- -L* | -R* | -l*)
+ -L* | -R* | -l* | */libclang_rt.*.a)
# Some compilers place space between "-{L,R}" and the path.
# Some compilers place space between "-{L,R,l}" and the path.
# Remove the space.
if test x-L = "$p" ||
--
2.25.1
if test x-L = x"$p" ||

View File

@@ -1,31 +0,0 @@
From: Mingli Yu <mingli.yu@windriver.com>
Subject: [PATCH 09/12] Makefile.am: make sure autoheader run before autoconf
autoheader will update ../libtool-2.4.6/libltdl/config-h.in which
autoconf needs, so there comes a race sometimes as below:
| configure.ac:45: error: required file 'config-h.in' not found
| touch '../libtool-2.4.6/libltdl/config-h.in'
So make sure autoheader run before autoconf to avoid this race.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e7dc729dd27b367905cd0ce52b5466d91537857a]
diff --git a/Makefile.am b/Makefile.am
index c29860e..9c34bfd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -370,7 +370,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
$(lt_aclocal_m4): $(lt_aclocal_m4_deps)
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4
-$(lt_configure): $(lt_configure_deps)
+$(lt_configure): $(lt_configure_deps) $(lt_config_h_in)
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF)
$(lt_config_h_in): $(lt_configure_deps)
--
2.25.1

View File

@@ -1,33 +0,0 @@
From: Mingli Yu <mingli.yu@windriver.com>
Subject: [PATCH 10/12] Makefile.am: make sure autoheader run before automake
When use automake to generate Makefile.in from Makefile.am, there
comes below race:
| configure.ac:45: error: required file 'config-h.in' not found
It is because the file config-h.in in updating process by autoheader,
so make automake run after autoheader to avoid the above race.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e01c0bfe5e041418d84460901a1a5b11b89d596f]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
diff --git a/Makefile.am b/Makefile.am
index 9c34bfd..231ef3f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -333,7 +333,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \
$(lt_obsolete_m4) \
$(stamp_mk)
-$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4)
+$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(lt_config_h_in)
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile
# Don't let unused scripts leak into the libltdl Makefile
--
2.25.1

View File

@@ -1,37 +0,0 @@
ltmain.in: Handle prefix-map compiler options correctly
If lto is enabled, we need the prefix-map variables to be passed to the linker
to correctly link the objects using correctly mapped paths.
Add these to the list of options libtool passes through.
* build-aux/ltmain.in: Handle prefix-map compiler options
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html
https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00066.html
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=cdf4bf702f11d17e06569936e8a433a77f791228]
---
build-aux/ltmain.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 0a50f5b..037f009 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5413,11 +5413,12 @@ func_mode_link ()
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
+ # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
# -Wa,* Pass flags directly to the assembler
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
+ -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
func_append compile_command " $arg"

View File

@@ -1,29 +0,0 @@
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 12/12] libtool.m4: For reproducibility stop encoding hostname in libtool script
For reproducibilty, stop encoding the hostname into the libtool script, this isn't
really adding much to debugging and most distros are carrying such a patch now as
reproducibility is important.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
https://sources.debian.org/data/main/libt/libtool/2.4.6-10/debian/patches/
no_hostname.patch
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=bd826173c4c9c3fa8d77d92785754897cb4bfd89]
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 3794130..84a550c 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -730,7 +730,6 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
--
2.25.1

View File

@@ -0,0 +1,30 @@
[PATCH] libtool.m4: Fix AC_CHECK_PROG usage
In commit:
https://git.savannah.gnu.org/cgit/libtool.git/commit/m4/libtool.m4?id=64bef5ba65f6820cd5f88e5249324b4f5955ee25
AC_CHECK_TOOL was changed to AC_CHECK_PROG however the arguments are
different and this result is a value of ":". Change this to match the
original intent.
The lack of FILECMD was causing failures for mips64 builds as -m elf was
being passed to LD which isn't supported on our targets.
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2024-06/msg00000.html]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: libtool-2.5.0/m4/libtool.m4
===================================================================
--- libtool-2.5.0.orig/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4
@@ -8216,7 +8216,7 @@ AC_SUBST([DLLTOOL])
# ----------------
# Check for a file(cmd) program that can be used to detect file type and magic
m4_defun([_LT_DECL_FILECMD],
-[AC_CHECK_PROG([FILECMD], [file], [:])
+[AC_CHECK_PROG([FILECMD], [file], [file], [:])
_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
])# _LD_DECL_FILECMD