summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch b/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch
new file mode 100644
index 0000000000..d56948f15d
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch
@@ -0,0 +1,100 @@
1Apply these patches from our libtool patches as not only are redundant RPATHs a
2waste of space but they can cause incorrect linking when native packages are
3restored from sstate.
4
5fix-rpath.patch:
6We don't want to add RPATHS which match default linker
7search paths, they're a waste of space. This patch
8filters libtools list and removes the ones we don't need.
9
10norm-rpath.patch:
11Libtool may be passed link paths of the form "/usr/lib/../lib", which
12fool its detection code into thinking it should be included as an
13RPATH in the generated binary. Normalize before comparision.
14
15Upstream-Status: Inappropriate
16Signed-off-by: Ross Burton <ross.burton@intel.com>
17
18diff --git a/ltmain.sh b/ltmain.sh
19index 683317c..860a16a 100644
20--- a/ltmain.sh
21+++ b/ltmain.sh
22@@ -8053,8 +8053,14 @@ EOF
23 esac
24 fi
25 else
26- eval flag=\"$hardcode_libdir_flag_spec\"
27- func_append dep_rpath " $flag"
28+ # We only want to hardcode in an rpath if it isn't in the
29+ # default dlsearch path.
30+ case " $sys_lib_dlsearch_path " in
31+ *" $libdir "*) ;;
32+ *) eval flag=\"$hardcode_libdir_flag_spec\"
33+ func_append dep_rpath " $flag"
34+ ;;
35+ esac
36 fi
37 elif test -n "$runpath_var"; then
38 case "$perm_rpath " in
39@@ -8790,8 +8796,14 @@ EOF
40 esac
41 fi
42 else
43- eval flag=\"$hardcode_libdir_flag_spec\"
44- func_append rpath " $flag"
45+ # We only want to hardcode in an rpath if it isn't in the
46+ # default dlsearch path.
47+ case " $sys_lib_dlsearch_path " in
48+ *" $libdir "*) ;;
49+ *) eval flag=\"$hardcode_libdir_flag_spec\"
50+ rpath+=" $flag"
51+ ;;
52+ esac
53 fi
54 elif test -n "$runpath_var"; then
55 case "$perm_rpath " in
56@@ -8841,8 +8853,14 @@ EOF
57 esac
58 fi
59 else
60- eval flag=\"$hardcode_libdir_flag_spec\"
61- func_append rpath " $flag"
62+ # We only want to hardcode in an rpath if it isn't in the
63+ # default dlsearch path.
64+ case " $sys_lib_dlsearch_path " in
65+ *" $libdir "*) ;;
66+ *) eval flag=\"$hardcode_libdir_flag_spec\"
67+ func_append rpath " $flag"
68+ ;;
69+ esac
70 fi
71 elif test -n "$runpath_var"; then
72 case "$finalize_perm_rpath " in
73diff --git a/ltmain.sh b/ltmain.sh
74index 683317c..860a16a 100644
75--- a/ltmain.sh
76+++ b/ltmain.sh
77@@ -8055,8 +8055,10 @@ EOF
78 else
79 # We only want to hardcode in an rpath if it isn't in the
80 # default dlsearch path.
81+ func_normal_abspath "$libdir"
82+ libdir_norm=$func_normal_abspath_result
83 case " $sys_lib_dlsearch_path " in
84- *" $libdir "*) ;;
85+ *" $libdir_norm "*) ;;
86 *) eval flag=\"$hardcode_libdir_flag_spec\"
87 func_append dep_rpath " $flag"
88 ;;
89@@ -8798,8 +8800,10 @@ EOF
90 else
91 # We only want to hardcode in an rpath if it isn't in the
92 # default dlsearch path.
93+ func_normal_abspath "$libdir"
94+ libdir_norm=$func_normal_abspath_result
95 case " $sys_lib_dlsearch_path " in
96- *" $libdir "*) ;;
97+ *" $libdir_norm "*) ;;
98 *) eval flag=\"$hardcode_libdir_flag_spec\"
99 rpath+=" $flag"
100 ;;