summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorMichael Eager <eager@eagercon.com>2012-11-09 16:24:57 +0000
committerMichael Eager <eager@eagercon.com>2012-11-09 16:24:57 +0000
commiteb7b10e71f9569f0b90e0c6c128121ecf14c2e8e (patch)
tree3f89f0fcd615df13203b71ae20eb32bfb6bbcd7d /ld
parent24e99800519974483cd7bb69e6875bf67da9d7af (diff)
downloadbinutils-redhat-eb7b10e71f9569f0b90e0c6c128121ecf14c2e8e.tar.gz
Add microblazeel target support to bfd, gas and ld.
binutils/bfd/Changelog 2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com> * config.bfd: Add microblazeel-*-* * configure.in: Likewise. * configure: Regenerate. * elf32-microblaze.c (microblaze_elf_relocate_section): Add endian awareness. (microblaze_elf_merge_private_bfd_data): New. (microblaze_bfd_write_imm_value_32): New. (microblaze_bfd_write_imm_value_64): New. (microblaze_elf_relax_section): Add endian awareness. (microblaze_elf_add_symbol_hook): Define TARGET_LITTLE_NAME, TARGET_LITTLE_SYM and bfd_elf32_bfd_merge_private_bfd_data. * targets.c: Add bfd target bfd_elf32_microblazeel_vec. binutils/gas/Changelog 2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com> * tc-microblaze.c (md_longopts): Define OPTION_EB and OPTION_EL for target. (md_parse_option): Likewise. * tc-microblaze.h: Set elf32-microblazeel if not target_big_endian for TARGET_FORMAT. * configure.tgt: Add microblazeel and set endian per target. binutils/gas/testsuite/Changelog 2012-11-09 David Holsgrove <david.holsgrove@xilinx.com> * gas/microblaze/endian.exp: New file - endian testcase for microblaze / microblazeel. * gas/microblaze/endian.s: Likewise. * gas/microblaze/endian_be.d: Likewise. * gas/microblaze/endian_le.d: Likewise. * gas/microblaze/endian_le_elf.d: Likewise. * gas/microblaze/reloc_sym.d: Update to accept targets other than elf32-microblaze. * gas/microblaze/special_reg.d: Likewise. binutils/ld/Changelog 2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com> * Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c. * Makefile.in: Regenerated. * configure.tgt: Add microblazeel and set endian per target. * emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT. * emulparams/elf32microblaze.sh: Likewise. * emulparams/elf32mbel_linux.sh: New file. * emulparams/elf32microblazeel.sh: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog10
-rw-r--r--ld/Makefile.am7
-rw-r--r--ld/Makefile.in8
-rw-r--r--ld/configure.tgt15
-rw-r--r--ld/emulparams/elf32mb_linux.sh2
-rw-r--r--ld/emulparams/elf32microblaze.sh2
6 files changed, 41 insertions, 3 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index fc5b81b3d5..bba2e84e01 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,13 @@
+2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com>
+
+ * Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c.
+ * Makefile.in: Regenerated.
+ * configure.tgt: Add microblazeel and set endian per target.
+ * emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT.
+ * emulparams/elf32microblaze.sh: Likewise.
+ * emulparams/elf32mbel_linux.sh: New file.
+ * emulparams/elf32microblazeel.sh: Likewise.
+
2012-11-09 H.J. Lu <hongjiu.lu@intel.com>
* testplug.c (record_add_file): Remove trailing redundant `;'.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 4c692ea289..f6f814fa05 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -237,6 +237,7 @@ ALL_EMULATION_SOURCES = \
eelf32mb_linux.c \
eelf32mcore.c \
eelf32mep.c \
+ eelf32microblazeel.c \
eelf32microblaze.c \
eelf32mipswindiss.c \
eelf32moxie.c \
@@ -1107,6 +1108,9 @@ eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mbel_linux "$(tdir_microblazeel)"
eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
@@ -1116,6 +1120,9 @@ eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32mep "$(tdir_mep)"
+eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32microblazeel "$(tdir_microblazeel)"
eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
diff --git a/ld/Makefile.in b/ld/Makefile.in
index a675d01750..fb0c21edc6 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -544,6 +544,7 @@ ALL_EMULATION_SOURCES = \
eelf32mb_linux.c \
eelf32mcore.c \
eelf32mep.c \
+ eelf32microblazeel.c \
eelf32microblaze.c \
eelf32mipswindiss.c \
eelf32moxie.c \
@@ -1166,6 +1167,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mcore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32microblaze.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32microblazeel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mipswindiss.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32moxie.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mt.Po@am__quote@
@@ -2577,6 +2579,9 @@ eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mbel_linux "$(tdir_microblazeel)"
eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
@@ -2586,6 +2591,9 @@ eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32mep "$(tdir_mep)"
+eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32microblazeel "$(tdir_microblazeel)"
eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 0e62b52ab2..9f0025a996 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -395,9 +395,18 @@ mcore-*-pe) targ_emul=mcorepe ;
mcore-*-elf) targ_emul=elf32mcore
;;
mep-*-elf) targ_emul=elf32mep ;;
-microblaze*-linux*)
- targ_emul="elf32mb_linux" ;;
-microblaze*) targ_emul=elf32microblaze ;;
+microblazeel*-linux*) targ_emul="elf32mbel_linux"
+ targ_extra_emuls="elf32mb_linux"
+ ;;
+microblaze*-linux*) targ_emul="elf32mb_linux"
+ targ_extra_emuls="elf32mbel_linux"
+ ;;
+microblazeel*) targ_emul=elf32microblazeel
+ targ_extra_emuls=elf32microblaze
+ ;;
+microblaze*) targ_emul=elf32microblaze
+ targ_extra_emuls=elf32microblazeel
+ ;;
mips*-*-pe) targ_emul=mipspe ;
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
mips*-dec-ultrix*) targ_emul=mipslit ;;
diff --git a/ld/emulparams/elf32mb_linux.sh b/ld/emulparams/elf32mb_linux.sh
index f26f1a0c3a..bb60d1fee3 100644
--- a/ld/emulparams/elf32mb_linux.sh
+++ b/ld/emulparams/elf32mb_linux.sh
@@ -1,5 +1,7 @@
SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-microblaze"
+BIG_OUTPUT_FORMAT="elf32-microblaze"
+LITTLE_OUTPUT_FORMAT="elf32-microblazeel"
TEXT_START_ADDR=0x10000000
NONPAGED_TEXT_START_ADDR=0x28
ALIGNMENT=4
diff --git a/ld/emulparams/elf32microblaze.sh b/ld/emulparams/elf32microblaze.sh
index ccc20d1519..1f804473fa 100644
--- a/ld/emulparams/elf32microblaze.sh
+++ b/ld/emulparams/elf32microblaze.sh
@@ -1,5 +1,7 @@
SCRIPT_NAME=elfmicroblaze
OUTPUT_FORMAT="elf32-microblaze"
+BIG_OUTPUT_FORMAT="elf32-microblaze"
+LITTLE_OUTPUT_FORMAT="elf32-microblazeel"
#TEXT_START_ADDR=0
NONPAGED_TEXT_START_ADDR=0x28
ALIGNMENT=4