This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb/binutils-2_28-branch] PowerPC: incorrect library search order
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 17 May 2017 23:55:46 -0000
- Subject: [binutils-gdb/binutils-2_28-branch] PowerPC: incorrect library search order
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1a94bb85e273197fb609b79cc2e3705287c86966
commit 1a94bb85e273197fb609b79cc2e3705287c86966
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 18 09:08:55 2017 +0930
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.
Diff:
---
ld/ChangeLog | 7 +++++++
ld/emulparams/elf32ppccommon.sh | 10 +++++-----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7d4faad..40a8052 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2017-05-18 Alan Modra <amodra@gmail.com>
+
+ Apply from master
+ 2017-03-13 Alexey Neyman <stilor@att.net>
+ * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target
+ cpu, not host.
+
2017-04-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR ld/21404
diff --git a/ld/emulparams/elf32ppccommon.sh b/ld/emulparams/elf32ppccommon.sh
index 1f54ef8..d00cf68 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 ;;