summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/libtool
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-23 09:00:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-26 17:56:44 +0100
commite3c5d7a90ae179af0ac128ea4dfc1a5a6602c2e4 (patch)
treeb5aa7f46d31fcfd3b3b7a4f3fcdac0a2ec9f0df5 /meta/recipes-devtools/libtool
parent1750e9018f3c22c477c61643efe917eeb074cf65 (diff)
downloadpoky-e3c5d7a90ae179af0ac128ea4dfc1a5a6602c2e4.tar.gz
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>
Diffstat (limited to 'meta/recipes-devtools/libtool')
-rw-r--r--meta/recipes-devtools/libtool/libtool-cross_2.4.bb2
-rw-r--r--meta/recipes-devtools/libtool/libtool-native_2.4.bb2
-rw-r--r--meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb2
-rw-r--r--meta/recipes-devtools/libtool/libtool.inc3
-rw-r--r--meta/recipes-devtools/libtool/libtool/fix-rpath.patch63
-rw-r--r--meta/recipes-devtools/libtool/libtool_2.4.bb2
6 files changed, 69 insertions, 5 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
index 25ac580e4a..6d512b1962 100644
--- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
@@ -1,6 +1,6 @@
1require libtool-${PV}.inc 1require libtool-${PV}.inc
2 2
3PR = "r2" 3PR = "r4"
4PACKAGES = "" 4PACKAGES = ""
5SRC_URI += "file://prefix.patch" 5SRC_URI += "file://prefix.patch"
6 6
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.bb
index 423622fa2e..3d0998e104 100644
--- a/meta/recipes-devtools/libtool/libtool-native_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-native_2.4.bb
@@ -2,7 +2,7 @@ require libtool-${PV}.inc
2 2
3DEPENDS = "" 3DEPENDS = ""
4 4
5PR = "r2" 5PR = "r4"
6SRC_URI += "file://prefix.patch" 6SRC_URI += "file://prefix.patch"
7 7
8inherit native 8inherit native
diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
index 4f67fed445..a96d1d1ac4 100644
--- a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
@@ -1,6 +1,6 @@
1require libtool-${PV}.inc 1require libtool-${PV}.inc
2 2
3PR = "r2" 3PR = "r4"
4SRC_URI += "file://prefix.patch" 4SRC_URI += "file://prefix.patch"
5 5
6inherit nativesdk 6inherit nativesdk
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc
index d423e4955b..ef9095be3e 100644
--- a/meta/recipes-devtools/libtool/libtool.inc
+++ b/meta/recipes-devtools/libtool/libtool.inc
@@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
15 file://resolve-sysroot.patch \ 15 file://resolve-sysroot.patch \
16 file://use-sysroot-in-libpath.patch \ 16 file://use-sysroot-in-libpath.patch \
17 file://fix-final-rpath.patch \ 17 file://fix-final-rpath.patch \
18 file://avoid_absolute_paths_for_general_utils.patch " 18 file://avoid_absolute_paths_for_general_utils.patch \
19 file://fix-rpath.patch "
19 20
20do_compile_prepend () { 21do_compile_prepend () {
21 # Sometimes this file doesn't get rebuilt, force the issue 22 # Sometimes this file doesn't get rebuilt, force the issue
diff --git a/meta/recipes-devtools/libtool/libtool/fix-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-rpath.patch
new file mode 100644
index 0000000000..3cdeaecab4
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/fix-rpath.patch
@@ -0,0 +1,63 @@
1We don't want to add RPATHS which match default linker
2search paths, they're a waste of space. This patch
3filters libtools list and removes the ones we don't need.
4
5RP 23/9/2011
6
7Upstream-status: Pending
8
9Index: libtool-2.4/libltdl/config/ltmain.m4sh
10===================================================================
11--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-09-23 08:38:06.365043626 +0100
12+++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-09-23 09:57:05.235003068 +0100
13@@ -7264,8 +7264,14 @@
14 esac
15 fi
16 else
17- eval flag=\"$hardcode_libdir_flag_spec\"
18- func_append dep_rpath " $flag"
19+ # We only want to hardcode in an rpath if it isn't in the
20+ # default dlsearch path.
21+ case " $sys_lib_dlsearch_path " in
22+ *" $libdir "*) ;;
23+ *) eval flag=\"$hardcode_libdir_flag_spec\"
24+ func_append dep_rpath " $flag"
25+ ;;
26+ esac
27 fi
28 elif test -n "$runpath_var"; then
29 case "$perm_rpath " in
30@@ -8001,8 +8007,14 @@
31 esac
32 fi
33 else
34- eval flag=\"$hardcode_libdir_flag_spec\"
35- func_append rpath " $flag"
36+ # We only want to hardcode in an rpath if it isn't in the
37+ # default dlsearch path.
38+ case " $sys_lib_dlsearch_path " in
39+ *" $libdir "*) ;;
40+ *) eval flag=\"$hardcode_libdir_flag_spec\"
41+ rpath+=" $flag"
42+ ;;
43+ esac
44 fi
45 elif test -n "$runpath_var"; then
46 case "$perm_rpath " in
47@@ -8052,8 +8064,14 @@
48 esac
49 fi
50 else
51- eval flag=\"$hardcode_libdir_flag_spec\"
52- func_append rpath " $flag"
53+ # We only want to hardcode in an rpath if it isn't in the
54+ # default dlsearch path.
55+ case " $sys_lib_dlsearch_path " in
56+ *" $libdir "*) ;;
57+ *) eval flag=\"$hardcode_libdir_flag_spec\"
58+ func_append rpath " $flag"
59+ ;;
60+ esac
61 fi
62 elif test -n "$runpath_var"; then
63 case "$finalize_perm_rpath " in
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.bb b/meta/recipes-devtools/libtool/libtool_2.4.bb
index e1a9a10ffd..3002215256 100644
--- a/meta/recipes-devtools/libtool/libtool_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool_2.4.bb
@@ -1,6 +1,6 @@
1require libtool-${PV}.inc 1require libtool-${PV}.inc
2 2
3PR = "r2" 3PR = "r4"
4 4
5# 5#
6# We want the results of libtool-cross preserved - don't stage anything ourselves. 6# We want the results of libtool-cross preserved - don't stage anything ourselves.