# See genscripts.sh and ../scripttempl/elf.sc for the meaning of these. setglobal SCRIPT_NAME = 'elf' setglobal ELFSIZE = '64' setglobal TEMPLATE_NAME = 'elf32' setglobal EXTRA_EM_FILE = 'ia64elf' setglobal OUTPUT_FORMAT = '"elf64-ia64-little'" setglobal ARCH = 'ia64' setglobal MACHINE = '' setglobal MAXPAGESIZE = '"CONSTANT (MAXPAGESIZE)'" # FIXME: It interferes with linker relaxation. Disable it until it is # fixed. if test "0" = "1" -a -n $CREATE_SHLIB { # Optimize shared libraries for 16K page size setglobal COMMONPAGESIZE = '"CONSTANT (COMMONPAGESIZE)'" } setglobal TEXT_START_ADDR = '"0x4000000000000000'" setglobal DATA_ADDR = ""0x6000000000000000 + (. & ($(MAXPAGESIZE) - 1))"" setglobal GENERATE_SHLIB_SCRIPT = 'yes' setglobal GENERATE_PIE_SCRIPT = 'yes' setglobal NOP = '0x00300000010070000002000001000400' # a bundle full of nops setglobal OTHER_GOT_SECTIONS = "" .IA_64.pltoff $(RELOCATING-0) : { *(.IA_64.pltoff) }"" setglobal OTHER_PLT_RELOC_SECTIONS = "" .rela.IA_64.pltoff $(RELOCATING-0) : { *(.rela.IA_64.pltoff) }"" setglobal OTHER_READONLY_SECTIONS = '' setglobal OTHER_READWRITE_SECTIONS = '' test -z $CREATE_PIE && setglobal OTHER_READONLY_SECTIONS = "" .opd $(RELOCATING-0) : { *(.opd) }"" test -n $CREATE_PIE && setglobal OTHER_READWRITE_SECTIONS = "" .opd $(RELOCATING-0) : { *(.opd) }"" test -n $CREATE_PIE && setglobal OTHER_GOT_RELOC_SECTIONS = "" .rela.opd $(RELOCATING-0) : { *(.rela.opd) }"" setglobal OTHER_READONLY_SECTIONS = ""$(OTHER_READONLY_SECTIONS) .IA_64.unwind_info $(RELOCATING-0) : { *(.IA_64.unwind_info$(RELOCATING+* .gnu.linkonce.ia64unwi.*)) } .IA_64.unwind $(RELOCATING-0) : { *(.IA_64.unwind$(RELOCATING+* .gnu.linkonce.ia64unw.*)) }"" # Intel C++ compiler, prior to 9.0, puts small data in .ctors and # .dtors. They have to be next to .sbss/.sbss2/.sdata/.sdata2. setglobal SMALL_DATA_CTOR = '" '" setglobal SMALL_DATA_DTOR = '" '"