From 1a94bb85e273197fb609b79cc2e3705287c86966 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 18 May 2017 09:08:55 +0930 Subject: [PATCH] PowerPC: incorrect library search order First, need to match against just the CPU name, not the whole triplet. Otherwise, the test picks up "*le-*" pattern from x86_64-apple-darwin triplet. Second, it should be testing for $target, not $host. Host may be little endian by default, and the sysroot directory layout shouldn't depend on whether it is built on LE or BE machine. * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target cpu, not host. --- ld/ChangeLog | 7 +++++++ ld/emulparams/elf32ppccommon.sh | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 7d4faad56d2..40a80529f28 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2017-05-18 Alan Modra + + Apply from master + 2017-03-13 Alexey Neyman + * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target + cpu, not host. + 2017-04-28 Senthil Kumar Selvaraj PR ld/21404 diff --git a/ld/emulparams/elf32ppccommon.sh b/ld/emulparams/elf32ppccommon.sh index 1f54ef8056d..d00cf68d894 100644 --- a/ld/emulparams/elf32ppccommon.sh +++ b/ld/emulparams/elf32ppccommon.sh @@ -44,11 +44,11 @@ fi # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first. # Similarly, look for 32 bit libraries in /lib32, /usr/lib32 etc. -case "$host":"$EMULATION_NAME" in - *le-*:*64lppc*) LIBPATH_SUFFIX=64 ;; - *le-*:*32lppc*) LIBPATH_SUFFIX=32 ;; - *le-*:*64*) LIBPATH_SUFFIX=64be ;; - *le-*:*32*) LIBPATH_SUFFIX=32be ;; +case `echo "$target" | sed -e 's/-.*//'`:"$EMULATION_NAME" in + *le:*64lppc*) LIBPATH_SUFFIX=64 ;; + *le:*32lppc*) LIBPATH_SUFFIX=32 ;; + *le:*64*) LIBPATH_SUFFIX=64be ;; + *le:*32*) LIBPATH_SUFFIX=32be ;; *:*64lppc*) LIBPATH_SUFFIX=64le ;; *:*32lppc*) LIBPATH_SUFFIX=32le ;; *:*64*) LIBPATH_SUFFIX=64 ;; -- 2.47.2