From cb31822a6c2dd856881330a356e9037e68db45dc Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 3 Oct 2016 15:16:32 +0100 Subject: binutils: apply RPATH fixes from our libtool patches We don't autoreconf/libtoolize binutils as it has very strict requirements, so extend our patching of the stock libtool to include two fixes to RPATH behaviour, as part of the solution to ensure that native binaries don't have RPATHs pointing at the host system's /usr/lib. This generally doesn't cause a problem but it can cause some binaries (such as ar) to abort on startup: ./x86_64-pokysdk-linux-ar: relocation error: /usr/lib/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference The situation here is that ar is built and as it links to the host libc/loader has an RPATH for /usr/lib. If tmp is wiped and then binutils is installed from sstate relocation occurs and the loader changed to the sysroot, but there remains a RPATH for /usr/lib. This means that the sysroot loader is used with the host libc, which can be incompatible. By telling libtool that the host library paths are in the default search path, and ensuring that all default search paths are not added as RPATHs by libtool, the result is a binary that links to what it should be linking to and nothing else. [ YOCTO #9287 ] (From OE-Core rev: 6b201081b622cc083cc2b1a8ad99d6f7d2bea480) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Sona Sarmadi --- meta/recipes-devtools/binutils/binutils-2.26.inc | 1 + 1 file changed, 1 insertion(+) (limited to 'meta/recipes-devtools/binutils/binutils-2.26.inc') diff --git a/meta/recipes-devtools/binutils/binutils-2.26.inc b/meta/recipes-devtools/binutils/binutils-2.26.inc index 283167c718..f93ded5deb 100644 --- a/meta/recipes-devtools/binutils/binutils-2.26.inc +++ b/meta/recipes-devtools/binutils/binutils-2.26.inc @@ -37,6 +37,7 @@ SRC_URI = "\ file://0015-allow-zero-length-elements.patch \ file://aarch64-tls.patch \ file://0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch \ + file://0014-libtool-remove-rpath.patch \ " S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf