Merge remote branch 'origin/master'
[binutils/dougsmingw.git] / ld / emulparams / elf64ppc.sh
blobc9337ea90d8d6ad665479a296a833e7021d6a032
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 NO_REL_RELOCS=yes
9 TEXT_START_ADDR=0x10000000
10 #SEGMENT_SIZE=0x10000000
11 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
12 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
13 ARCH=powerpc:common64
14 MACHINE=
15 NOP=0x60000000
16 OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
17 BSS_PLT=
18 OTHER_BSS_SYMBOLS="
19 .tocbss ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.tocbss)}"
20 OTHER_PLT_RELOC_SECTIONS="
21 .rela.tocbss ${RELOCATING-0} : { *(.rela.tocbss) }"
23 if test x${RELOCATING+set} = xset; then
24 GOT="
25 .got : ALIGN(8) { *(.got .toc) }"
26 else
27 GOT="
28 .got 0 : { *(.got) }
29 .toc 0 : { *(.toc) }"
31 # Put .opd relocs first so ld.so will process them before any ifunc relocs.
32 INITIAL_RELOC_SECTIONS="
33 .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
34 OTHER_GOT_RELOC_SECTIONS="
35 .rela.toc ${RELOCATING-0} : { *(.rela.toc) }
36 .rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }"
37 OTHER_READWRITE_SECTIONS="
38 .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
39 .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
40 .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
42 # Treat a host that matches the target with the possible exception of "64"
43 # in the name as if it were native.
44 if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
45 case " $EMULATION_LIBPATH " in
46 *" ${EMULATION_NAME} "*)
47 NATIVE=yes
49 esac
52 # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
53 case "$EMULATION_NAME" in
54 *64*) LIBPATH_SUFFIX=64 ;;
55 esac