elf64_ia64.sh revision 1.1.1.2
1# See genscripts.sh and ../scripttempl/elf.sc for the meaning of these. 2SCRIPT_NAME=elf 3ELFSIZE=64 4TEMPLATE_NAME=elf32 5EXTRA_EM_FILE=ia64elf 6OUTPUT_FORMAT="elf64-ia64-little" 7ARCH=ia64 8MACHINE= 9MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 10# FIXME: It interferes with linker relaxation. Disable it until it is 11# fixed. 12if test "0" = "1" -a -n "$CREATE_SHLIB"; then 13 # Optimize shared libraries for 16K page size 14 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 15fi 16TEXT_START_ADDR="0x4000000000000000" 17DATA_ADDR="0x6000000000000000 + (. & (${MAXPAGESIZE} - 1))" 18GENERATE_SHLIB_SCRIPT=yes 19GENERATE_PIE_SCRIPT=yes 20NOP=0x00300000010070000002000001000400 # a bundle full of nops 21OTHER_GOT_SECTIONS=" 22 .IA_64.pltoff ${RELOCATING-0} : { *(.IA_64.pltoff) }" 23OTHER_PLT_RELOC_SECTIONS=" 24 .rela.IA_64.pltoff ${RELOCATING-0} : { *(.rela.IA_64.pltoff) }" 25OTHER_READONLY_SECTIONS= 26OTHER_READWRITE_SECTIONS= 27test -z "$CREATE_PIE" && OTHER_READONLY_SECTIONS=" 28 .opd ${RELOCATING-0} : { *(.opd) }" 29test -n "$CREATE_PIE" && OTHER_READWRITE_SECTIONS=" 30 .opd ${RELOCATING-0} : { *(.opd) }" 31test -n "$CREATE_PIE" && OTHER_GOT_RELOC_SECTIONS=" 32 .rela.opd ${RELOCATING-0} : { *(.rela.opd) }" 33OTHER_READONLY_SECTIONS="${OTHER_READONLY_SECTIONS} 34 .IA_64.unwind_info ${RELOCATING-0} : { KEEP(*(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*})) } 35 .IA_64.unwind ${RELOCATING-0} : { KEEP(*(.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. 38SMALL_DATA_CTOR=" " 39SMALL_DATA_DTOR=" " 40