diff options
Diffstat (limited to 'meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch')
-rw-r--r-- | meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch b/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch new file mode 100644 index 0000000000..50d47d9f7a --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch | |||
@@ -0,0 +1,72 @@ | |||
1 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
2 | Subject: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths | ||
3 | |||
4 | We don't want to add RPATHS which match default linker search paths, they're | ||
5 | a waste of space. This patch filters libtools list of paths to encoode and | ||
6 | removes the ones we don't need. | ||
7 | |||
8 | Libtool may be passed link paths of the form "/usr/lib/../lib" so normalize | ||
9 | the paths before comparision. | ||
10 | |||
11 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
12 | |||
13 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html] | ||
14 | |||
15 | diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in | ||
16 | --- b/build-aux/ltmain.in | ||
17 | +++ b/build-aux/ltmain.in 2012-08-22 11:01:34.191345989 -0700 | ||
18 | @@ -7286,8 +7286,16 @@ | ||
19 | esac | ||
20 | fi | ||
21 | else | ||
22 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
23 | - func_append dep_rpath " $flag" | ||
24 | + # We only want to hardcode in an rpath if it isn't in the | ||
25 | + # default dlsearch path. | ||
26 | + func_normal_abspath "$libdir" | ||
27 | + libdir_norm=$func_normal_abspath_result | ||
28 | + case " $sys_lib_dlsearch_path " in | ||
29 | + *" $libdir_norm "*) ;; | ||
30 | + *) eval flag=\"$hardcode_libdir_flag_spec\" | ||
31 | + func_append dep_rpath " $flag" | ||
32 | + ;; | ||
33 | + esac | ||
34 | fi | ||
35 | elif test -n "$runpath_var"; then | ||
36 | case "$perm_rpath " in | ||
37 | @@ -8019,8 +8027,16 @@ | ||
38 | esac | ||
39 | fi | ||
40 | else | ||
41 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
42 | - func_append rpath " $flag" | ||
43 | + # We only want to hardcode in an rpath if it isn't in the | ||
44 | + # default dlsearch path. | ||
45 | + func_normal_abspath "$libdir" | ||
46 | + libdir_norm=$func_normal_abspath_result | ||
47 | + case " $sys_lib_dlsearch_path " in | ||
48 | + *" $libdir_norm "*) ;; | ||
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 | @@ -8070,8 +8086,14 @@ | ||
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 | ||