Files
poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
Richard Purdie 80d4ed954a libtool: 2.4.7 -> 2.5.0
Whilst this is an alpha release, it makes sense for us to
stay close to upstream.

We can drop a lot of merged patches which is great to see.

During testing, one bug showed up, particularly on mip64 due
to an issue with FILECMD being changed to use AC_CHECK_PROG
incorredly. A patch has been added for that and sent upstream.

(From OE-Core rev: d572297c5810fb248af633014eac96f8ea0a739e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-04 12:04:52 +01:00

74 lines
2.5 KiB
Diff

From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths
We don't want to add RPATHS which match default linker search paths, they're
a waste of space. This patch filters libtools list of paths to encoode and
removes the ones we don't need.
Libtool may be passed link paths of the form "/usr/lib/../lib" so normalize
the paths before comparision.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -7602,8 +7602,16 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append dep_rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ func_normal_abspath "$libdir"
+ libdir_norm=$func_normal_abspath_result
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir_norm "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8336,8 +8344,16 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ func_normal_abspath "$libdir"
+ libdir_norm=$func_normal_abspath_result
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir_norm "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath+=" $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8391,8 +8407,14 @@ func_mode_link ()
esac
fi
else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
+ # We only want to hardcode in an rpath if it isn't in the
+ # default dlsearch path.
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ ;;
+ esac
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in