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 \ | |||
13 | file://prefix-manpage-fix.patch \ | 13 | file://prefix-manpage-fix.patch \ |
14 | file://rename-with-sysroot.patch \ | 14 | file://rename-with-sysroot.patch \ |
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 | 18 | ||
18 | do_compile_prepend () { | 19 | do_compile_prepend () { |
19 | # Sometimes this file doesn't get rebuilt, force the issue | 20 | # 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 @@ | |||
1 | Enalbing sysroot support exposed a bug where the final library | ||
2 | had an RPATH encoded into it which still pointed to the sysroot. | ||
3 | This works around the issue until it gets sorted out upstream. | ||
4 | |||
5 | Fix suggested by Richard Purdie <richard.purdie@intel.com> | ||
6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
7 | |||
8 | Index: libtool-2.4/libltdl/config/ltmain.m4sh | ||
9 | =================================================================== | ||
10 | --- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-01-13 14:10:14.580025108 +0000 | ||
11 | +++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-01-13 15:10:18.540025113 +0000 | ||
12 | @@ -7246,9 +7246,11 @@ | ||
13 | test "$opt_mode" != relink && rpath="$compile_rpath$rpath" | ||
14 | for libdir in $rpath; do | ||
15 | if test -n "$hardcode_libdir_flag_spec"; then | ||
16 | + func_replace_sysroot "$libdir" | ||
17 | + libdir=$func_replace_sysroot_result | ||
18 | + func_stripname '=' '' "$libdir" | ||
19 | + libdir=$func_stripname_result | ||
20 | if test -n "$hardcode_libdir_separator"; then | ||
21 | - func_replace_sysroot "$libdir" | ||
22 | - libdir=$func_replace_sysroot_result | ||
23 | if test -z "$hardcode_libdirs"; then | ||
24 | hardcode_libdirs="$libdir" | ||
25 | else | ||
26 | @@ -7981,6 +7983,10 @@ | ||
27 | hardcode_libdirs= | ||
28 | for libdir in $compile_rpath $finalize_rpath; do | ||
29 | if test -n "$hardcode_libdir_flag_spec"; then | ||
30 | + func_replace_sysroot "$libdir" | ||
31 | + libdir=$func_replace_sysroot_result | ||
32 | + func_stripname '=' '' "$libdir" | ||
33 | + libdir=$func_stripname_result | ||
34 | if test -n "$hardcode_libdir_separator"; then | ||
35 | if test -z "$hardcode_libdirs"; then | ||
36 | hardcode_libdirs="$libdir" | ||