diff options
-rw-r--r-- | meta/recipes-devtools/libtool/libtool.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch | 36 |
2 files changed, 38 insertions, 1 deletions
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc index bccb7698b4..8701c820d2 100644 --- a/meta/recipes-devtools/libtool/libtool.inc +++ b/meta/recipes-devtools/libtool/libtool.inc @@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://prefix-manpage-fix.patch \ file://rename-with-sysroot.patch \ file://resolve-sysroot.patch \ - file://use-sysroot-in-libpath.patch" + file://use-sysroot-in-libpath.patch \ + file://fix-final-rpath.patch" do_compile_prepend () { # Sometimes this file doesn't get rebuilt, force the issue diff --git a/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch new file mode 100644 index 0000000000..402e2c6b51 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch @@ -0,0 +1,36 @@ +Enalbing sysroot support 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@intel.com> +Signed-off-by: Scott Garman <scott.a.garman@intel.com> + +Index: libtool-2.4/libltdl/config/ltmain.m4sh +=================================================================== +--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-01-13 14:10:14.580025108 +0000 ++++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-01-13 15:10:18.540025113 +0000 +@@ -7246,9 +7246,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 +@@ -7981,6 +7983,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" |