]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - ld/emulparams/elf32ppc.sh
Merge commit 'upstream/2.20'
[msp430-binutils.git] / ld / emulparams / elf32ppc.sh
index 68962d7325d79e2e58a5aecdfe2d36e7c6793a00..e638815e89633a594f14d30fc477830041406031 100644 (file)
@@ -10,7 +10,16 @@ SDATA_GOT=
 SEPARATE_GOTPLT=0
 BSS_PLT=
 GOT=".got          ${RELOCATING-0} : SPECIAL { *(.got) }"
-PLT=".plt          ${RELOCATING-0} : SPECIAL { *(.plt) }"
-GOTPLT="${PLT}"
+GOTPLT=".plt          ${RELOCATING-0} : SPECIAL { *(.plt) }"
+PLT=".plt          ${RELOCATING-0} : SPECIAL { *(.plt) }
+  .iplt         ${RELOCATING-0} : { *(.iplt) }"
 OTHER_TEXT_SECTIONS="*(.glink)"
 EXTRA_EM_FILE=ppc32elf
+if grep -q 'ld_elf32_spu_emulation' ldemul-list.h; then
+# crt1.o defines data_start and __data_start.  Keep them first.
+# Next put all the .data.spehandle sections, with a trailing zero word.
+  DATA_START_SYMBOLS="${RELOCATING+*crt1.o(.data .data.* .gnu.linkonce.d.*)
+    PROVIDE (__spe_handle = .);
+    *(.data.spehandle)
+    . += 4 * (DEFINED (__spe_handle) || . != 0);}"
+fi