aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorKuba Sejdak <jakub.sejdak@phoesys.com>2016-05-23 13:53:07 +0100
committerNick Clifton <nickc@redhat.com>2016-05-23 13:53:07 +0100
commita2bea3245ecf4ff67f923c85adf57aa78423eb45 (patch)
tree1275f4e75e5489a5d1ffc040b36106e92b30bdd2 /ld
parentd0571b9934241e58a5325fc6e09298d0e3396280 (diff)
downloadbinutils-a2bea3245ecf4ff67f923c85adf57aa78423eb45.zip
binutils-a2bea3245ecf4ff67f923c85adf57aa78423eb45.tar.gz
binutils-a2bea3245ecf4ff67f923c85adf57aa78423eb45.tar.bz2
Add support for configuring for the ARM Phoenix target.
bfd * config.bfd: Add entry for arm-phoenix. gas * configuse.tgt: Add entry for arm-phoenix. ld * Makefile.am: Add earmelf_phoenix.c. * Makefile.in: Regenerate. * configure.tgt: Add entry for arm-phoenix. * emulparams/armelf_phoenix.sh: New file.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/Makefile.am5
-rw-r--r--ld/Makefile.in6
-rw-r--r--ld/configure.tgt1
-rw-r--r--ld/emulparams/armelf_phoenix.sh24
5 files changed, 43 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7f8d690..6509f33 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
+
+ * Makefile.am: Add earmelf_phoenix.c.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add entry for arm-phoenix.
+ * emulparams/armelf_phoenix.sh: New file.
+
2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
* emultempl/armelf.em (arm_elf_before_allocation): Call
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 1c03e7b..0598923 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -179,6 +179,7 @@ ALL_EMULATION_SOURCES = \
earmelf_linux_eabi.c \
earmelf_nacl.c \
earmelf_nbsd.c \
+ earmelf_phoenix.c \
earmelf_vxworks.c \
earmelfb.c \
earmelfb_fbsd.c \
@@ -777,6 +778,10 @@ earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+earmelf_phoenix.c: $(srcdir)/emulparams/armelf_phoenix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 37e9e2f..7c78198 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -547,6 +547,7 @@ ALL_EMULATION_SOURCES = \
earmelf_linux_eabi.c \
earmelf_nacl.c \
earmelf_nbsd.c \
+ earmelf_phoenix.c \
earmelf_vxworks.c \
earmelfb.c \
earmelfb_fbsd.c \
@@ -1183,6 +1184,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux_eabi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nacl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nbsd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_phoenix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_vxworks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fbsd.Po@am__quote@
@@ -2364,6 +2366,10 @@ earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+earmelf_phoenix.c: $(srcdir)/emulparams/armelf_phoenix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index d68e3a9..0b7637b 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -103,6 +103,7 @@ arm-*-netbsd*) targ_emul=armnbsd;
targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;;
arm-*-nto*) targ_emul=armnto ;;
arm-*-openbsd*) targ_emul=armnbsd ;;
+arm-*-phoenix*) targ_emul=armelf ;;
arm-*-rtems*) targ_emul=armelf ;;
armeb-*-elf | armeb-*-eabi*)
targ_emul=armelfb ;;
diff --git a/ld/emulparams/armelf_phoenix.sh b/ld/emulparams/armelf_phoenix.sh
new file mode 100644
index 0000000..d78edaf
--- /dev/null
+++ b/ld/emulparams/armelf_phoenix.sh
@@ -0,0 +1,24 @@
+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