summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch b/meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch
new file mode 100644
index 0000000000..4fcffa471e
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.2/libtool-rpath-fix.patch
@@ -0,0 +1,39 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Enabling sysroot support in libtool exposed a bug where the final
+library had an RPATH encoded into it which still pointed to the
+sysroot. This works around the issue until it gets sorted out
+upstream.
+
+Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+Index: binutils-2.22/ltmain.sh
+===================================================================
+--- binutils-2.22.orig/ltmain.sh
++++ binutils-2.22/ltmain.sh
+@@ -8035,9 +8035,11 @@ EOF
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+- func_replace_sysroot "$libdir"
+- libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -8770,6 +8772,10 @@ EOF
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"