aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/elf32_tic6x_be.sh2
-rw-r--r--ld/emulparams/elf32_tic6x_le.sh26
2 files changed, 28 insertions, 0 deletions
diff --git a/ld/emulparams/elf32_tic6x_be.sh b/ld/emulparams/elf32_tic6x_be.sh
new file mode 100644
index 0000000..648320f
--- /dev/null
+++ b/ld/emulparams/elf32_tic6x_be.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf32_tic6x_le.sh
+OUTPUT_FORMAT="elf32-tic6x-be"
diff --git a/ld/emulparams/elf32_tic6x_le.sh b/ld/emulparams/elf32_tic6x_le.sh
new file mode 100644
index 0000000..b9a5a96
--- /dev/null
+++ b/ld/emulparams/elf32_tic6x_le.sh
@@ -0,0 +1,26 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-tic6x-le"
+# This address is an arbitrary value expected to be suitable for
+# semihosting simulator use, but not on hardware where it is expected
+# to be overridden.
+TEXT_START_ADDR=0x8000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=tic6x
+EXECUTABLE_SYMBOLS="EXTERN (__c6xabi_DSBT_BASE);"
+SDATA_START_SYMBOLS="PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .);"
+# ".bss" is near (small) BSS, ".far" is far (normal) BSS, ".const" is
+# far read-only data, ".rodata" is near read-only data. ".neardata"
+# is near (small) data, ".fardata" is (along with .data) far data.
+RODATA_NAME="const"
+SDATA_NAME="neardata"
+SBSS_NAME="bss"
+BSS_NAME="far"
+OTHER_SDATA_SECTIONS=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.*}) }"
+OTHER_READONLY_RELOC_SECTIONS="
+ .rel.rodata ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.*}) }
+ .rela.rodata ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.*}) }"
+OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ .fardata.*}) }"
+OTHER_READWRITE_RELOC_SECTIONS="
+ .rel.fardata ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) }
+ .rela.fardata ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }"