From 9852db9d22b496221930ce10b9fa325083778200 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 30 Jan 2017 23:18:09 +0000 Subject: binutils-cross: Remove exec_prefix from the linker search path We don't put target libs into a native/cross ${exec_prefix} but having this in the default search path means all linker scripts have to be relocated. This is a considerable chunk of files to create multiple copies of for no good reason. Instead, patch out the paths we don't need. (From OE-Core rev: 20816eb5398512652c971a37589a2ca28ffd3d68) Signed-off-by: Richard Purdie --- .../binutils/binutils/no-tooldirpaths.patch | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/no-tooldirpaths.patch (limited to 'meta/recipes-devtools/binutils/binutils') diff --git a/meta/recipes-devtools/binutils/binutils/no-tooldirpaths.patch b/meta/recipes-devtools/binutils/binutils/no-tooldirpaths.patch new file mode 100644 index 0000000000..2bfc8d4d26 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/no-tooldirpaths.patch @@ -0,0 +1,47 @@ +We don't place target libraries within ${exec_prefix}, we'd always place these +within the target sysroot within the standard library directories. Worse, the +append_to_lib_path code prefixes these paths with the sysroot which makes even +less sense. + +These directories therefore don't make sense in our case and mean we have to +relocate all the linker scripts if they're present. Dropping them +gives a reasonable performance improvement/simplification. + +Upstream-Status: Inappropriate + +RP 2017/01/30 + +Index: git/ld/genscripts.sh +=================================================================== +--- git.orig/ld/genscripts.sh ++++ git/ld/genscripts.sh +@@ -189,29 +189,6 @@ append_to_lib_path() + fi + } + +-# Always search $(tooldir)/lib, aka /usr/local/TARGET/lib when native +-# except when LIBPATH=":". +-if [ "${LIB_PATH}" != ":" ] ; then +- libs= +- if [ "x${TOOL_LIB}" = "x" ] ; then +- if [ "x${NATIVE}" = "xyes" ] ; then +- libs="${exec_prefix}/${target_alias}/lib" +- fi +- else +- # For multilib'ed targets, ensure both ${target_alias}/lib${LIBPATH_SUFFIX} +- # and ${TOOL_LIB}/lib${LIBPATH_SUFFIX} are in the default search path, +- # because 64bit libraries may be in both places, depending on +- # cross-development setup method (e.g.: /usr/s390x-linux/lib64 +- # vs. /usr/s390-linux/lib64) +- case "${NATIVE}:${LIBPATH_SUFFIX}:${TOOL_LIB}" in +- :* | *::* | *:*:*${LIBPATH_SUFFIX}) ;; +- *) libs="${exec_prefix}/${target_alias}/lib${LIBPATH_SUFFIX}" ;; +- esac +- libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}" +- fi +- append_to_lib_path ${libs} +-fi +- + if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then + libs=${NATIVE_LIB_DIRS} + if [ "x${NATIVE}" = "xyes" ] ; then -- cgit v1.2.3-54-g00ecf