diff options
author | Yufeng Zhang <yufeng.zhang@arm.com> | 2013-06-26 10:56:05 +0000 |
---|---|---|
committer | Yufeng Zhang <yufeng.zhang@arm.com> | 2013-06-26 10:56:05 +0000 |
commit | 70f0bc67ba98bcb4cb416806d6cbb4f318ead54d (patch) | |
tree | 5bafd3e5b068fdc56f0a26109b454ae82ea5884f | |
parent | 2d426575611d4ac76dbe72e5c974fd18a4503740 (diff) | |
download | binutils-70f0bc67ba98bcb4cb416806d6cbb4f318ead54d.zip binutils-70f0bc67ba98bcb4cb416806d6cbb4f318ead54d.tar.gz binutils-70f0bc67ba98bcb4cb416806d6cbb4f318ead54d.tar.bz2 |
[AArch64, ILP32] 6/6 Add big-endian targets
ld/
* 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.
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/Makefile.am | 5 | ||||
-rw-r--r-- | ld/Makefile.in | 6 | ||||
-rw-r--r-- | ld/configure.tgt | 8 | ||||
-rw-r--r-- | ld/emulparams/aarch64elf32b.sh | 2 |
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" |