diff options
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32tilegx.sh | 26 | ||||
-rw-r--r-- | ld/emulparams/elf32tilepro.sh | 27 | ||||
-rw-r--r-- | ld/emulparams/elf64tilegx.sh | 25 |
3 files changed, 78 insertions, 0 deletions
diff --git a/ld/emulparams/elf32tilegx.sh b/ld/emulparams/elf32tilegx.sh new file mode 100644 index 0000000..0b32262 --- /dev/null +++ b/ld/emulparams/elf32tilegx.sh @@ -0,0 +1,26 @@ +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-tilegx" +TEXT_START_ADDR=0x10000 +NO_REL_RELOCS=yes +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" +# See also `include/elf/tilegx.h' +ARCH=tilegx +ALIGNMENT=64 +MACHINE= +NOP=0 +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +GENERATE_COMBRELOC_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes +NO_SMALL_DATA=yes +SEPARATE_GOTPLT=8 +# Look for 32 bit target libraries in /lib32, /usr/lib32 etc., first. +LIBPATH_SUFFIX=32 +OTHER_SECTIONS=" + /* TILE architecture interrupt vector areas */ + .intrpt0 0xfc000000 : { KEEP(*(.intrpt0)) } + .intrpt1 0xfd000000 : { KEEP(*(.intrpt1)) } + .intrpt2 0xfe000000 : { KEEP(*(.intrpt2)) } + .intrpt3 0xff000000 : { KEEP(*(.intrpt3)) } +" diff --git a/ld/emulparams/elf32tilepro.sh b/ld/emulparams/elf32tilepro.sh new file mode 100644 index 0000000..5fb4443 --- /dev/null +++ b/ld/emulparams/elf32tilepro.sh @@ -0,0 +1,27 @@ +SCRIPT_NAME=elf +if [ -z "$OUTPUT_FORMAT" ]; then + # Allow overriding externally to "elf32-tile64" if desired + OUTPUT_FORMAT=elf32-tilepro +fi +TEXT_START_ADDR=0x10000 +NO_REL_RELOCS=yes +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" +# See also `include/elf/tilepro.h' +ARCH=tilepro +ALIGNMENT=64 +MACHINE= +NOP=0 +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +GENERATE_COMBRELOC_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes +NO_SMALL_DATA=yes +SEPARATE_GOTPLT=8 +OTHER_SECTIONS=" + /* TILEPRO architecture interrupt vector areas */ + .intrpt0 0xfc000000 : { KEEP(*(.intrpt0)) } + .intrpt1 0xfd000000 : { KEEP(*(.intrpt1)) } + .intrpt2 0xfe000000 : { KEEP(*(.intrpt2)) } + .intrpt3 0xff000000 : { KEEP(*(.intrpt3)) } +" diff --git a/ld/emulparams/elf64tilegx.sh b/ld/emulparams/elf64tilegx.sh new file mode 100644 index 0000000..a2c407e --- /dev/null +++ b/ld/emulparams/elf64tilegx.sh @@ -0,0 +1,25 @@ +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf64-tilegx" +TEXT_START_ADDR=0x10000 +NO_REL_RELOCS=yes +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" +# See also `include/elf/tilegx.h' +ARCH=tilegx +ALIGNMENT=64 +MACHINE= +NOP=0 +# Note that "elf32.em" actually handles elf64 also. +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +GENERATE_COMBRELOC_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes +NO_SMALL_DATA=yes +SEPARATE_GOTPLT=16 +OTHER_SECTIONS=" + /* TILE architecture interrupt vector areas */ + .intrpt0 0xfffffffffc000000 : { KEEP(*(.intrpt0)) } + .intrpt1 0xfffffffffd000000 : { KEEP(*(.intrpt1)) } + .intrpt2 0xfffffffffe000000 : { KEEP(*(.intrpt2)) } + .intrpt3 0xffffffffff000000 : { KEEP(*(.intrpt3)) } +" |