mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
libtool: Fix an issue where unnecessary rpaths were being injected
libtool was being to aggressive in adding rpath to binaries. This change stops it adding them if that path the default search path. (From OE-Core rev: 99d1e3ee56c326b3ab68913e68d133a63f334696) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
require libtool-${PV}.inc
|
||||
|
||||
PR = "r2"
|
||||
PR = "r4"
|
||||
PACKAGES = ""
|
||||
SRC_URI += "file://prefix.patch"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ require libtool-${PV}.inc
|
||||
|
||||
DEPENDS = ""
|
||||
|
||||
PR = "r2"
|
||||
PR = "r4"
|
||||
SRC_URI += "file://prefix.patch"
|
||||
|
||||
inherit native
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require libtool-${PV}.inc
|
||||
|
||||
PR = "r2"
|
||||
PR = "r4"
|
||||
SRC_URI += "file://prefix.patch"
|
||||
|
||||
inherit nativesdk
|
||||
|
||||
@@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
|
||||
file://resolve-sysroot.patch \
|
||||
file://use-sysroot-in-libpath.patch \
|
||||
file://fix-final-rpath.patch \
|
||||
file://avoid_absolute_paths_for_general_utils.patch "
|
||||
file://avoid_absolute_paths_for_general_utils.patch \
|
||||
file://fix-rpath.patch "
|
||||
|
||||
do_compile_prepend () {
|
||||
# Sometimes this file doesn't get rebuilt, force the issue
|
||||
|
||||
63
meta/recipes-devtools/libtool/libtool/fix-rpath.patch
Normal file
63
meta/recipes-devtools/libtool/libtool/fix-rpath.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
We don't want to add RPATHS which match default linker
|
||||
search paths, they're a waste of space. This patch
|
||||
filters libtools list and removes the ones we don't need.
|
||||
|
||||
RP 23/9/2011
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Index: libtool-2.4/libltdl/config/ltmain.m4sh
|
||||
===================================================================
|
||||
--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-09-23 08:38:06.365043626 +0100
|
||||
+++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-09-23 09:57:05.235003068 +0100
|
||||
@@ -7264,8 +7264,14 @@
|
||||
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.
|
||||
+ case " $sys_lib_dlsearch_path " in
|
||||
+ *" $libdir "*) ;;
|
||||
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
+ func_append dep_rpath " $flag"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
elif test -n "$runpath_var"; then
|
||||
case "$perm_rpath " in
|
||||
@@ -8001,8 +8007,14 @@
|
||||
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\"
|
||||
+ rpath+=" $flag"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
elif test -n "$runpath_var"; then
|
||||
case "$perm_rpath " in
|
||||
@@ -8052,8 +8064,14 @@
|
||||
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
|
||||
@@ -1,6 +1,6 @@
|
||||
require libtool-${PV}.inc
|
||||
|
||||
PR = "r2"
|
||||
PR = "r4"
|
||||
|
||||
#
|
||||
# We want the results of libtool-cross preserved - don't stage anything ourselves.
|
||||
|
||||
Reference in New Issue
Block a user