2011-03-25 Tristan Gingold <gingold@adacore.com>
[binutils.git] / ld / emulparams / elf64_ia64.sh
blob7e5e54d391ed8ce0fc03a07e50eff2f683a42257
1 # See genscripts.sh and ../scripttempl/elf.sc for the meaning of these.
2 SCRIPT_NAME=elf
3 ELFSIZE=64
4 TEMPLATE_NAME=elf32
5 EXTRA_EM_FILE=ia64elf
6 OUTPUT_FORMAT="elf64-ia64-little"
7 ARCH=ia64
8 MACHINE=
9 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
10 # FIXME: It interferes with linker relaxation. Disable it until it is
11 # fixed.
12 if test "0" = "1" -a -n "$CREATE_SHLIB"; then
13 # Optimize shared libraries for 16K page size
14 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
16 TEXT_START_ADDR="0x4000000000000000"
17 DATA_ADDR="0x6000000000000000 + (. & (${MAXPAGESIZE} - 1))"
18 GENERATE_SHLIB_SCRIPT=yes
19 GENERATE_PIE_SCRIPT=yes
20 NOP=0x00300000010070000002000001000400 # a bundle full of nops
21 OTHER_GOT_SECTIONS="
22 .IA_64.pltoff ${RELOCATING-0} : { *(.IA_64.pltoff) }"
23 OTHER_PLT_RELOC_SECTIONS="
24 .rela.IA_64.pltoff ${RELOCATING-0} : { *(.rela.IA_64.pltoff) }"
25 OTHER_READONLY_SECTIONS=
26 OTHER_READWRITE_SECTIONS=
27 test -z "$CREATE_PIE" && OTHER_READONLY_SECTIONS="
28 .opd ${RELOCATING-0} : { *(.opd) }"
29 test -n "$CREATE_PIE" && OTHER_READWRITE_SECTIONS="
30 .opd ${RELOCATING-0} : { *(.opd) }"
31 test -n "$CREATE_PIE" && OTHER_GOT_RELOC_SECTIONS="
32 .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
33 OTHER_READONLY_SECTIONS="${OTHER_READONLY_SECTIONS}
34 .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*}) }
35 .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind${RELOCATING+* .gnu.linkonce.ia64unw.*}) }"
36 # Intel C++ compiler, prior to 9.0, puts small data in .ctors and
37 # .dtors. They have to be next to .sbss/.sbss2/.sdata/.sdata2.
38 SMALL_DATA_CTOR=" "
39 SMALL_DATA_DTOR=" "