Automatic makefile dependencies for generated ld/e*.c
[external/binutils.git] / ld / emulparams / elf64ppc.sh
index 556fbf5..0dd42cf 100644 (file)
@@ -1,5 +1,5 @@
-. ${srcdir}/emulparams/elf32ppccommon.sh
-. ${srcdir}/emulparams/plt_unwind.sh
+source_sh ${srcdir}/emulparams/elf32ppccommon.sh
+source_sh ${srcdir}/emulparams/plt_unwind.sh
 EXTRA_EM_FILE=ppc64elf
 ELFSIZE=64
 OUTPUT_FORMAT="elf64-powerpc"
@@ -15,15 +15,12 @@ unset SBSS_END_SYMBOLS
 unset OTHER_END_SYMBOLS
 unset OTHER_RELRO_SECTIONS
 OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
-BSS_PLT=
-OTHER_BSS_SYMBOLS="
+OTHER_SDATA_SECTIONS="
   .tocbss      ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.tocbss)}"
-OTHER_PLT_RELOC_SECTIONS="
-  .rela.tocbss ${RELOCATING-0} : { *(.rela.tocbss) }"
 
 if test x${RELOCATING+set} = xset; then
   GOT="
-  .got         : ALIGN(8) { *(.got .toc) }"
+  .got         : ALIGN(256) { *(.got .toc) }"
 else
   GOT="
   .got         0 : { *(.got) }
@@ -34,9 +31,21 @@ INITIAL_RELOC_SECTIONS="
   .rela.opd    ${RELOCATING-0} : { *(.rela.opd) }"
 OTHER_GOT_RELOC_SECTIONS="
   .rela.toc    ${RELOCATING-0} : { *(.rela.toc) }
+  .rela.toc1   ${RELOCATING-0} : { *(.rela.toc1) }
+  .rela.tocbss ${RELOCATING-0} : { *(.rela.tocbss) }
   .rela.branch_lt      ${RELOCATING-0} : { *(.rela.branch_lt) }"
-OTHER_READWRITE_SECTIONS="
+OTHER_RELRO_SECTIONS_2="
+  .opd         ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
   .toc1                ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
   .branch_lt   ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
-OTHER_RELRO_SECTIONS_2="
-  .opd         ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }"
+INITIAL_READWRITE_SECTIONS="
+  .toc         ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc) }"
+# Put .got before .data
+DATA_GOT=" "
+# Always make .got read-only after relocation
+SEPARATE_GOTPLT=0
+# Also put .sdata before .data
+DATA_SDATA=" "
+# and .plt/.iplt before .data
+DATA_PLT=
+PLT_BEFORE_GOT=" "