summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
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:55:58 +0100
commit99d1e3ee56c326b3ab68913e68d133a63f334696 (patch)
tree027d8fb21e8dfeac2cbf869ee549ffaa38beaecc /meta/recipes-devtools
parentc7b02c6e80819e30a0818282ab8d960243a2d0e8 (diff)
downloadopenembedded-core-99d1e3ee56c326b3ab68913e68d133a63f334696.tar.gz
openembedded-core-99d1e3ee56c326b3ab68913e68d133a63f334696.tar.bz2
openembedded-core-99d1e3ee56c326b3ab68913e68d133a63f334696.tar.xz
openembedded-core-99d1e3ee56c326b3ab68913e68d133a63f334696.zip
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-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 25ac580e4..6d512b196 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 @@
require libtool-${PV}.inc
-PR = "r2"
+PR = "r4"
PACKAGES = ""
SRC_URI += "file://prefix.patch"
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.bb
index 423622fa2..3d0998e10 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
DEPENDS = ""
-PR = "r2"
+PR = "r4"
SRC_URI += "file://prefix.patch"
inherit native
diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
index 4f67fed44..a96d1d1ac 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 @@
require libtool-${PV}.inc
-PR = "r2"
+PR = "r4"
SRC_URI += "file://prefix.patch"
inherit nativesdk
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc
index d423e4955..ef9095be3 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 \
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
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 000000000..3cdeaecab
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/fix-rpath.patch
@@ -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
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.bb b/meta/recipes-devtools/libtool/libtool_2.4.bb
index e1a9a10ff..300221525 100644
--- a/meta/recipes-devtools/libtool/libtool_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool_2.4.bb
@@ -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.