* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit
authorAlan Modra <amodra@gmail.com>
Tue, 24 Sep 2013 06:29:39 +0000 (06:29 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 24 Sep 2013 06:29:39 +0000 (06:29 +0000)
and cross-endian values.
* emulparams/elf64ppc.sh: Source elf32ppccomon.sh.  Delete duplicate,
and unset unwanted variables.

ld/ChangeLog
ld/emulparams/elf32ppccommon.sh
ld/emulparams/elf64ppc.sh

index 6dfce36f8fddea0c5533ba4354a6cc53c3c994bc..e93bdea29b54d03397a5cd03ac33ca3f02ab452c 100644 (file)
@@ -1,3 +1,10 @@
+2013-09-24  Alan Modra  <amodra@gmail.com>
+
+       * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit
+       and cross-endian values.
+       * emulparams/elf64ppc.sh: Source elf32ppccomon.sh.  Delete duplicate,
+       and unset unwanted variables.
+
 2013-09-24  Alan Modra  <amodra@gmail.com>
 
        * genscripts.sh (LIB_PATH): Don't exclude libdir or tooldir when
index 15cb3b123a7ea5e6a2a974b69f7d875bc4803907..049fdb987a541be5db30059969d8197d0cf7e145 100644 (file)
@@ -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//` = `echo "$target" | sed -e s/64//`; then
 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 8611686362cbe42bb11697d5fad35298f9fa7917..355e0461c3c23ae9268b88c1bd7928cd11265820 100644 (file)
@@ -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