summaryrefslogtreecommitdiffstats
path: root/ld/emulparams/elf64btsmip.sh
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2001-04-08 05:13:57 +0000
committerH.J. Lu <hjl.tools@gmail.com>2001-04-08 05:13:57 +0000
commitfdec3cfc8342fc200faf001c8d5c83f324e2a08a (patch)
tree060f6cfefeee15b34e12e2e56198ac8586faa873 /ld/emulparams/elf64btsmip.sh
parentfdbafa100f18778c445ae309ab2c2e4fd83cf9d8 (diff)
downloadppe42-binutils-fdec3cfc8342fc200faf001c8d5c83f324e2a08a.tar.gz
ppe42-binutils-fdec3cfc8342fc200faf001c8d5c83f324e2a08a.zip
2001-04-05 Steven J. Hill <sjhill@cotw.com>
* Makefile.am (ALL_EMULATIONS): Add eelf32ltsmip.o. (ALL_64_EMULATIONS): Add eelf64btsmip.o and eelf64ltsmip.o. (eelf32ltsmip.c): New target. (eelf64btsmip.c): Likewise. (eelf64ltsmip.c): Likewise. * Makefile.in: Regenerated. * configure.tgt (mips*el-*-linux-gnu): Uses traditional MIPS target. (mips*-*-linux-gnu*): Likewise. * emulparams/elf32ltsmip.sh: New. Traditional little endian MIPS taget. * emulparams/elf64btsmip.sh: New. Traditional 64bit big endian target. * emulparams/elf64ltsmip.sh: New. Traditional 64bit little endian target.
Diffstat (limited to 'ld/emulparams/elf64btsmip.sh')
-rw-r--r--ld/emulparams/elf64btsmip.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/ld/emulparams/elf64btsmip.sh b/ld/emulparams/elf64btsmip.sh
new file mode 100644
index 0000000000..f3d917cfb7
--- /dev/null
+++ b/ld/emulparams/elf64btsmip.sh
@@ -0,0 +1,44 @@
+# This is an ELF platform.
+SCRIPT_NAME=elf
+
+# Handle both big- and little-ended 64-bit MIPS objects.
+ARCH=mips
+OUTPUT_FORMAT="elf64-tradbigmips"
+BIG_OUTPUT_FORMAT="elf64-tradbigmips"
+LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
+
+# Note that the elf32 template is used for 64-bit emulations as well
+# as 32-bit emulations.
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+
+TEXT_START_ADDR=0x10000000
+DATA_ADDR=0x0400000000
+MAXPAGESIZE=0x100000
+NONPAGED_TEXT_START_ADDR=0x10000000
+SHLIB_TEXT_START_ADDR=0x0
+TEXT_DYNAMIC=
+ENTRY=__start
+
+# GOT-related settings.
+OTHER_GOT_SYMBOLS='
+ _gp = ALIGN(16) + 0x7ff0;
+'
+OTHER_GOT_SECTIONS='
+ .lit8 : { *(.lit8) }
+ .lit4 : { *(.lit4) }
+'
+
+# Magic symbols.
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+
+# Magic sections.
+INITIAL_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
OpenPOWER on IntegriCloud