Blame ld/emulparams/elf64ppc.sh

Packit ba3681
. ${srcdir}/emulparams/elf32ppccommon.sh
Packit ba3681
. ${srcdir}/emulparams/plt_unwind.sh
Packit ba3681
EXTRA_EM_FILE=ppc64elf
Packit ba3681
ELFSIZE=64
Packit ba3681
OUTPUT_FORMAT="elf64-powerpc"
Packit ba3681
TEXT_START_ADDR=0x10000000
Packit ba3681
#SEGMENT_SIZE=0x10000000
Packit ba3681
ARCH=powerpc:common64
Packit ba3681
NOP=0x60000000
Packit ba3681
unset EXECUTABLE_SYMBOLS
Packit ba3681
unset SDATA_START_SYMBOLS
Packit ba3681
unset SDATA2_START_SYMBOLS
Packit ba3681
unset SBSS_START_SYMBOLS
Packit ba3681
unset SBSS_END_SYMBOLS
Packit ba3681
unset OTHER_END_SYMBOLS
Packit ba3681
unset OTHER_RELRO_SECTIONS
Packit ba3681
OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
Packit ba3681
OTHER_SDATA_SECTIONS="
Packit ba3681
  .tocbss	${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.tocbss)}"
Packit ba3681
Packit ba3681
if test x${RELOCATING+set} = xset; then
Packit ba3681
  GOT="
Packit ba3681
  .got		: ALIGN(256) { *(.got .toc) }"
Packit ba3681
else
Packit ba3681
  GOT="
Packit ba3681
  .got		0 : { *(.got) }
Packit ba3681
  .toc		0 : { *(.toc) }"
Packit ba3681
fi
Packit ba3681
# Put .opd relocs first so ld.so will process them before any ifunc relocs.
Packit ba3681
INITIAL_RELOC_SECTIONS="
Packit ba3681
  .rela.opd	${RELOCATING-0} : { *(.rela.opd) }"
Packit ba3681
OTHER_GOT_RELOC_SECTIONS="
Packit ba3681
  .rela.toc	${RELOCATING-0} : { *(.rela.toc) }
Packit ba3681
  .rela.toc1	${RELOCATING-0} : { *(.rela.toc1) }
Packit ba3681
  .rela.tocbss	${RELOCATING-0} : { *(.rela.tocbss) }
Packit ba3681
  .rela.branch_lt	${RELOCATING-0} : { *(.rela.branch_lt) }"
Packit ba3681
OTHER_RELRO_SECTIONS_2="
Packit ba3681
  .opd		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
Packit ba3681
  .toc1		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
Packit ba3681
  .branch_lt	${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
Packit ba3681
INITIAL_READWRITE_SECTIONS="
Packit ba3681
  .toc		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc) }"
Packit ba3681
# Put .got before .data
Packit ba3681
DATA_GOT=" "
Packit ba3681
# Always make .got read-only after relocation
Packit ba3681
SEPARATE_GOTPLT=0
Packit ba3681
# Also put .sdata before .data
Packit ba3681
DATA_SDATA=" "
Packit ba3681
# and .plt/.iplt before .data
Packit ba3681
DATA_PLT=
Packit ba3681
PLT_BEFORE_GOT=" "