This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] PowerPC: incorrect library search order


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4b5900d8b81522bd6ebe4d94d45dfb54d1982c62

commit 4b5900d8b81522bd6ebe4d94d45dfb54d1982c62
Author: Alexey Neyman <stilor@att.net>
Date:   Sun Mar 12 20:49:46 2017 -0700

    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                    |  5 +++++
 ld/emulparams/elf32ppccommon.sh | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 86d9378..44e6895 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-13  Alexey Neyman  <stilor@att.net>
+
+	* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target
+	cpu, not host.
+
 2017-03-11  Alan Modra  <amodra@gmail.com>
 
 	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Add
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 ;;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]