This is the mail archive of the binutils@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]

multilib osdir search paths for powerpc*-linux


This patch removes some duplication between elf64ppc.sh and elf32ppc.sh,
and adds multilib osdir search paths for cross-endian.

	* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit
	and cross-endian values.
	* emulparams/elf64ppc.sh: Source elf32ppccomon.sh.  Delete duplicate,
	and unset unwanted variables.

Index: ld/emulparams/elf32ppccommon.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/elf32ppccommon.sh,v
retrieving revision 1.3
diff -u -p -r1.3 elf32ppccommon.sh
--- ld/emulparams/elf32ppccommon.sh	22 Oct 2008 05:20:44 -0000	1.3
+++ ld/emulparams/elf32ppccommon.sh	3 Sep 2013 04:05:01 -0000
@@ -1,5 +1,5 @@
 # The PLT-agnostic parts of a generic 32-bit ELF PowerPC target.  Included by:
-# elf32ppc.sh elf32ppcvxworks.sh
+# elf32ppc.sh elf32ppcvxworks.sh elf64ppc.sh
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
@@ -45,6 +45,14 @@ if test `echo "$host" | sed -e s/64//` =
 fi
 
 # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
-case "$EMULATION_NAME" in
-  *64*) LIBPATH_SUFFIX=64 ;;
+# 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 ;;
+  *:*64lppc*) LIBPATH_SUFFIX=64le ;;
+  *:*32lppc*) LIBPATH_SUFFIX=32le ;;
+  *:*64*) LIBPATH_SUFFIX=64 ;;
+  *:*32*) LIBPATH_SUFFIX=32 ;;
 esac
Index: ld/emulparams/elf64ppc.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/elf64ppc.sh,v
retrieving revision 1.23
diff -u -p -r1.23 elf64ppc.sh
--- ld/emulparams/elf64ppc.sh	26 Jul 2011 01:57:18 -0000	1.23
+++ ld/emulparams/elf64ppc.sh	3 Sep 2013 04:05:01 -0000
@@ -1,19 +1,19 @@
+. ${srcdir}/emulparams/elf32ppccommon.sh
 . ${srcdir}/emulparams/plt_unwind.sh
-TEMPLATE_NAME=elf32
 EXTRA_EM_FILE=ppc64elf
 ELFSIZE=64
-GENERATE_SHLIB_SCRIPT=yes
-GENERATE_PIE_SCRIPT=yes
-SCRIPT_NAME=elf
 OUTPUT_FORMAT="elf64-powerpc"
-NO_REL_RELOCS=yes
 TEXT_START_ADDR=0x10000000
 #SEGMENT_SIZE=0x10000000
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
 ARCH=powerpc:common64
-MACHINE=
 NOP=0x60000000
+unset EXECUTABLE_SYMBOLS
+unset SDATA_START_SYMBOLS
+unset SDATA2_START_SYMBOLS
+unset SBSS_START_SYMBOLS
+unset SBSS_END_SYMBOLS
+unset OTHER_END_SYMBOLS
+unset OTHER_RELRO_SECTIONS
 OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
 BSS_PLT=
 OTHER_BSS_SYMBOLS="
@@ -39,18 +39,3 @@ OTHER_READWRITE_SECTIONS="
   .toc1		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
   .opd		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
   .branch_lt	${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
-
-# Treat a host that matches the target with the possible exception of "64"
-# in the name as if it were native.
-if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
-  case " $EMULATION_LIBPATH " in
-    *" ${EMULATION_NAME} "*)
-      NATIVE=yes
-      ;;
-  esac
-fi
-
-# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
-case "$EMULATION_NAME" in
-  *64*) LIBPATH_SUFFIX=64 ;;
-esac

-- 
Alan Modra
Australia Development Lab, IBM


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