From 4d387c3c0e8807013af61c964536c68f8e976762 Mon Sep 17 00:00:00 2001 From: Scott Garman Date: Tue, 18 Jan 2011 12:02:23 -0800 Subject: binutils: fix library RPATHs This integrates the RPATH fixes we recently applied to libtool. Signed-off-by: Scott Garman --- .../binutils/binutils-2.21/libtool-rpath-fix.patch | 36 ++++++++++++++++++++++ meta/recipes-devtools/binutils/binutils_2.21.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch b/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch new file mode 100644 index 000000000..a0058c1a4 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch @@ -0,0 +1,36 @@ +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 +Signed-off-by: Scott Garman + +diff -urN binutils-2.21.orig//ltmain.sh binutils-2.21/ltmain.sh +--- binutils-2.21.orig//ltmain.sh 2011-01-18 11:50:40.821710085 -0800 ++++ binutils-2.21/ltmain.sh 2011-01-18 11:51:38.774952785 -0800 +@@ -8035,9 +8035,11 @@ + 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 @@ + 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" diff --git a/meta/recipes-devtools/binutils/binutils_2.21.bb b/meta/recipes-devtools/binutils/binutils_2.21.bb index 1d6a3c4fa..270c720c3 100644 --- a/meta/recipes-devtools/binutils/binutils_2.21.bb +++ b/meta/recipes-devtools/binutils/binutils_2.21.bb @@ -28,6 +28,7 @@ SRC_URI = "\ file://binutils-2.19.1-ld-sysroot.patch \ file://libiberty_path_fix.patch \ file://binutils-poison.patch \ + file://libtool-rpath-fix.patch \ " SRC_URI[md5sum] = "c84c5acc9d266f1a7044b51c85a823f5" -- cgit v1.2.3