Add support for configuring for the ARM Phoenix target.
authorKuba Sejdak <jakub.sejdak@phoesys.com>
Mon, 23 May 2016 12:53:07 +0000 (13:53 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 23 May 2016 12:53:07 +0000 (13:53 +0100)
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.

bfd/ChangeLog
bfd/config.bfd
gas/configure.tgt
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/armelf_phoenix.sh [new file with mode: 0644]

index 8d8c24c709acc206dba5bd34b0d733de79d045eb..8af8bda1718973f14491ef32e9f6c0b2fcc55e8f 100644 (file)
@@ -1,3 +1,7 @@
+2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
+
+       * config.bfd: Add entry for arm-phoenix.
+
 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
        * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
index d0aa5533c89a78be2877fbd41247946966d5815a..f7e9e223bc934186bf090153b979f6133086968c 100644 (file)
@@ -349,6 +349,10 @@ case "${targ}" in
     targ_selvecs=arm_coff_be_vec
     targ_underscore=yes
     ;;
+  arm-*-phoenix*)
+    targ_defvec=arm_elf32_le_vec
+    targ_selvecs=arm_elf32_be_vec
+    ;;
   arm-*-rtems*)
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
index 75470e40898a26a6c0c57ce8af1b55f2fb5e7fc3..4e0d4aa30fabc48f3fef3454c7deff6042d85b4e 100644 (file)
@@ -135,6 +135,7 @@ case ${generic_target} in
 
   arm-*-aout)                          fmt=aout ;;
   arm-*-coff)                          fmt=coff ;;
+  arm-*-phoenix*)                      fmt=elf ;;
   arm-*-rtems*)                                fmt=elf ;;
   arm-*-elf)                           fmt=elf ;;
   arm-*-eabi*)                         fmt=elf em=armeabi ;;
index 7f8d69034d78da86219a54c006ec8b42a923a5b9..6509f33930a5b69156f29b04355d37826f284965 100644 (file)
@@ -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
index 1c03e7b3248ca88962d5d3e14b5eda9d12838b8b..0598923ba7fc36913067afd68a5d8bfe6f36ba69 100644 (file)
@@ -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 \
index 37e9e2f17088487213a88bbaf698ea5a905e989e..7c78198665af18f13a6c071a4eaae32b7510641c 100644 (file)
@@ -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 \
index d68e3a95395584ecb3ac75d7586bc743253fc6f4..0b7637bdb9215a7c7f863ada3ed8ce1d8a92695a 100644 (file)
@@ -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 (file)
index 0000000..d78edaf
--- /dev/null
@@ -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