Files
poky/meta/recipes-devtools/libtool/libtool/0002-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
Alexander Kanavin fca2c9b54e libtool: update 2.5.2 -> 2.5.4
2.5.2 was a beta, upstream made two stable releases since:
https://savannah.gnu.org/news/?id=10676
https://savannah.gnu.org/news/?id=10693

Drop libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
(merged upstream)

Apply the multilib patch unconditionally as it could be applied to add variants.

For the other it was pointed out that it:
"potentially has side effects for native builds. It breaks the ability
to run files in the .libs directory which in the cross case we don't
care about but some natives did once used to do that. The risk is they
find host things instead."

License-Update: change of FSF address to a URI

(From OE-Core rev: 9a672faf21648c60d7ff29439bb236f3ac87100d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-06 23:34:12 +00:00

83 lines
2.7 KiB
Diff

From 59b6032698d10306ffb3be3cbf76690409d7f9a6 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue, 26 Nov 2024 09:57:36 +0000
Subject: [PATCH 2/7] ltmain.in: Don't encode RATHS which match default linker
paths
We don't want to add RPATHS which match default linker search paths, they're
a waste of space. This patch filters libtools list of paths to encoode and
removes the ones we don't need.
Libtool may be passed link paths of the form "/usr/lib/../lib" so normalize
the paths before comparision.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
---
build-aux/ltmain.in | 34 ++++++++++++++++++++++++++++------
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index c31faebd..44c7d81e 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -7782,8 +7782,16 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append dep_rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ func_normal_abspath "$libdir"
+ libdir_norm=$func_normal_abspath_result
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir_norm "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8516,8 +8524,16 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ func_normal_abspath "$libdir"
+ libdir_norm=$func_normal_abspath_result
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir_norm "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath+=" $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8571,8 +8587,14 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
--
2.39.5