elf32ppc.sh 1.2 KB

123456789101112131415161718192021222324252627282930
  1. # If you change this file, please also look at files which source this one:
  2. # elf32lppcnto.sh elf32lppc.sh elf32ppclinux.sh elf32ppcnto.sh
  3. # elf32ppcsim.sh
  4. source_sh ${srcdir}/emulparams/elf32ppccommon.sh
  5. source_sh ${srcdir}/emulparams/plt_unwind.sh
  6. # Yes, we want duplicate .got and .plt sections. The linker chooses the
  7. # appropriate one magically in ppc_after_open
  8. DATA_GOT=
  9. SDATA_GOT=
  10. SEPARATE_GOTPLT=0
  11. BSS_PLT=
  12. GOT=".got ${RELOCATING-0} : SPECIAL { *(.got) }"
  13. GOTPLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }"
  14. PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }
  15. .iplt ${RELOCATING-0} : { *(.iplt) }"
  16. OTHER_TEXT_SECTIONS="*(.glink)"
  17. OTHER_GOT_RELOC_SECTIONS="
  18. .rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }"
  19. OTHER_RELRO_SECTIONS_2="
  20. .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(4)} { *(.branch_lt) }"
  21. EXTRA_EM_FILE=ppc32elf
  22. if grep -q 'ld_elf32_spu_emulation' ldemul-list.h; then
  23. # crt1.o defines data_start and __data_start. Keep them first.
  24. # Next put all the .data.spehandle sections, with a trailing zero word.
  25. DATA_START_SYMBOLS="${RELOCATING+*crt1.o(.data .data.* .gnu.linkonce.d.*)
  26. PROVIDE (__spe_handle = .);
  27. *(.data.spehandle)
  28. . += 4 * (DEFINED (__spe_handle) || . != 0);}"
  29. fi