diff options
author | Scott Garman <scott.a.garman@intel.com> | 2011-01-11 23:20:02 -0800 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2011-01-21 01:36:14 -0800 |
commit | ded899b5804c7ceb108e9476d1164f7da0adfb34 (patch) | |
tree | 86df8a26a32558e36fc2a622b076dd9634e7d4a6 /meta | |
parent | 62dc23953d87babc69a7fbf4b0bd61d093577167 (diff) | |
download | poky-ded899b5804c7ceb108e9476d1164f7da0adfb34.tar.gz |
libtool: fix library RPATHs
Enabling 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@linuxfoundation.org>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'meta')
-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" | ||