aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
authorJosh Conner <joshconner@google.com>2016-12-02 10:44:29 +0000
committerNick Clifton <nickc@redhat.com>2016-12-02 10:44:29 +0000
commitd5451cd45325d12b2cc3d10ffe67f09b0e26b967 (patch)
treeef28edcd6c7312ad15bced09bafff05085fd1ae2 /ld/emulparams
parent432ec0814b01a93b88eddf13092ea6abef34652d (diff)
downloadgdb-d5451cd45325d12b2cc3d10ffe67f09b0e26b967.zip
gdb-d5451cd45325d12b2cc3d10ffe67f09b0e26b967.tar.gz
gdb-d5451cd45325d12b2cc3d10ffe67f09b0e26b967.tar.bz2
Add support for Fushia OS.
* configure.ac: Add fuchsia to targets that use ELF. * configure: Regenerated. bfd * configure.tgt: Add support for fuchsia (OS). gas * configure.tgt: Add support for fuchsia (OS). ld * Makefile.am: Add dependency information for earmelf_fuchsia.c. * Makefile.in: Regenerate. * configure.tgt: Add support for aarch64-*-fuchsia, arm*-*-fuchsia*, and x86_64-*-fuchsia* targets. * emulparams/armelf_fuchsia.sh: New file. * emulparams/armelfb_fuchsia.sh: New file.
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/armelf_fuchsia.sh32
-rw-r--r--ld/emulparams/armelfb_fuchsia.sh2
2 files changed, 34 insertions, 0 deletions
diff --git a/ld/emulparams/armelf_fuchsia.sh b/ld/emulparams/armelf_fuchsia.sh
new file mode 100644
index 0000000..8626b0e
--- /dev/null
+++ b/ld/emulparams/armelf_fuchsia.sh
@@ -0,0 +1,32 @@
+ARCH=arm
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlearm"
+BIG_OUTPUT_FORMAT="elf32-bigarm"
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=armelf
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
+OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+
+TEXT_START_ADDR=0x00001000
+TARGET2_TYPE=got-rel
+
+# ARM does not support .s* sections.
+NO_SMALL_DATA=yes
+
+# Use the ARM ABI-compliant exception-handling sections.
+OTHER_READONLY_SECTIONS="
+ .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
+ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); }
+ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
+ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }"
+
diff --git a/ld/emulparams/armelfb_fuchsia.sh b/ld/emulparams/armelfb_fuchsia.sh
new file mode 100644
index 0000000..7e6f34a
--- /dev/null
+++ b/ld/emulparams/armelfb_fuchsia.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_fuchsia.sh
+OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"