* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd
[external/binutils.git] / ld / emulparams / elf64ppc.sh
1 TEMPLATE_NAME=elf32
2 EXTRA_EM_FILE=ppc64elf
3 ELFSIZE=64
4 GENERATE_SHLIB_SCRIPT=yes
5 GENERATE_PIE_SCRIPT=yes
6 SCRIPT_NAME=elf
7 OUTPUT_FORMAT="elf64-powerpc"
8 TEXT_START_ADDR=0x10000000
9 #SEGMENT_SIZE=0x10000000
10 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
11 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
12 ARCH=powerpc:common64
13 MACHINE=
14 NOP=0x60000000
15 OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
16 BSS_PLT=
17 OTHER_BSS_SYMBOLS="
18   .tocbss       ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.tocbss)}"
19 OTHER_PLT_RELOC_SECTIONS="
20   .rela.tocbss  ${RELOCATING-0} : { *(.rela.tocbss) }"
21
22 if test x${RELOCATING+set} = xset; then
23   GOT="
24   .got          : ALIGN(8) { *(.got .toc) }"
25 else
26   GOT="
27   .got          0 : { *(.got) }
28   .toc          0 : { *(.toc) }"
29 fi
30 OTHER_GOT_RELOC_SECTIONS="
31   .rela.toc     ${RELOCATING-0} : { *(.rela.toc) }
32   .rela.opd     ${RELOCATING-0} : { *(.rela.opd) }
33   .rela.branch_lt       ${RELOCATING-0} : { *(.rela.branch_lt) }"
34 OTHER_READWRITE_SECTIONS="
35   .toc1         ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
36   .opd          ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
37   .branch_lt    ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
38
39 # Treat a host that matches the target with the possible exception of "64"
40 # in the name as if it were native.
41 if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
42   case " $EMULATION_LIBPATH " in
43     *" ${EMULATION_NAME} "*)
44       NATIVE=yes
45       ;;
46   esac
47 fi
48
49 # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
50 case "$EMULATION_NAME" in
51   *64*) LIBPATH_SUFFIX=64 ;;
52 esac