| # If you change this file, please also look at files which source this one: |
| # elf32lppcnto.sh elf32lppc.sh elf32ppclinux.sh elf32ppcnto.sh |
| # elf32ppcsim.sh |
| |
| source_sh ${srcdir}/emulparams/elf32ppccommon.sh |
| source_sh ${srcdir}/emulparams/plt_unwind.sh |
| # Yes, we want duplicate .got and .plt sections. The linker chooses the |
| # appropriate one magically in ppc_after_open |
| DATA_GOT= |
| SDATA_GOT= |
| SEPARATE_GOTPLT=0 |
| BSS_PLT= |
| GOT=".got ${RELOCATING-0} : SPECIAL { *(.got) }" |
| GOTPLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }" |
| PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) } |
| .iplt ${RELOCATING-0} : { *(.iplt) }" |
| OTHER_TEXT_SECTIONS="*(.glink)" |
| OTHER_GOT_RELOC_SECTIONS=" |
| .rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }" |
| OTHER_RELRO_SECTIONS_2=" |
| .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(4)} { *(.branch_lt) }" |
| 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 |