aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/Makefile.am5
-rw-r--r--ld/Makefile.in6
-rw-r--r--ld/configure.tgt8
-rw-r--r--ld/emulparams/aarch64elf32b.sh2
5 files changed, 26 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 096ef78..b6eb771 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,14 @@
2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32b.c.
+ (eaarch64elf32b.c): New dependency and rule.
+ * Makefile.in: Re-generated.
+ * configure.tgt (aarch64-*-elf): Add aarch64elf32b.
+ (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
+ * emulparams/aarch64elf32b.sh: New file.
+
+2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32.c.
(eaarch64elf32.c): New dependency and rule.
* Makefile.in: Re-generated.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 4df187a..eaf82b6 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -465,6 +465,7 @@ ALL_64_EMULATION_SOURCES = \
eaarch64elf.c \
eaarch64elf32.c \
eaarch64elfb.c \
+ eaarch64elf32b.c \
eaarch64linux.c \
eaarch64linuxb.c \
eelf32_x86_64.c \
@@ -1771,6 +1772,10 @@ eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} aarch64elfb "$(tdir_aarch64elfb)"
+eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} aarch64elf32b "$(tdir_aarch64elf32b)"
eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/Makefile.in b/ld/Makefile.in
index a4a3724..21fd6b8 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -772,6 +772,7 @@ ALL_64_EMULATION_SOURCES = \
eaarch64elf.c \
eaarch64elf32.c \
eaarch64elfb.c \
+ eaarch64elf32b.c \
eaarch64linux.c \
eaarch64linuxb.c \
eelf32_x86_64.c \
@@ -1080,6 +1081,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deffilep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32b.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Po@am__quote@
@@ -3252,6 +3254,10 @@ eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} aarch64elfb "$(tdir_aarch64elfb)"
+eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} aarch64elf32b "$(tdir_aarch64elf32b)"
eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 38028e4..c0291c8 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -46,13 +46,13 @@ targ64_extra_libpath=
# break the alpha sorting.
case "${targ}" in
aarch64_be-*-elf) targ_emul=aarch64elfb
- targ_extra_emuls="aarch64elf aarch64elf32 armelfb armelf" ;;
+ targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;;
aarch64-*-elf) targ_emul=aarch64elf
- targ_extra_emuls="aarch64elf32 aarch64elfb armelf armelfb" ;;
+ targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
aarch64_be-*-linux*) targ_emul=aarch64linuxb
- targ_extra_emuls="aarch64linux aarch64elfb aarch64elf aarch64elf32 armelfb_linux_eabi armelf_linux_eabi armelfb armelf" ;;
+ targ_extra_emuls="aarch64linux aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb_linux_eabi armelf_linux_eabi armelfb armelf" ;;
aarch64-*-linux*) targ_emul=aarch64linux
- targ_extra_emuls="aarch64linuxb aarch64elf aarch64elf32 aarch64elfb armelf_linux_eabi armelfb_linux_eabi armelf armelfb" ;;
+ targ_extra_emuls="aarch64linuxb aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf_linux_eabi armelfb_linux_eabi armelf armelfb" ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
targ_emul=elf64alpha_fbsd
targ_extra_emuls="elf64alpha alpha"
diff --git a/ld/emulparams/aarch64elf32b.sh b/ld/emulparams/aarch64elf32b.sh
new file mode 100644
index 0000000..aa0a2c5
--- /dev/null
+++ b/ld/emulparams/aarch64elf32b.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/aarch64elf32.sh
+OUTPUT_FORMAT="elf32-bigaarch64"