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