This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
RFA: ARM big-endian targets
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: binutils at sources dot redhat dot com
- Date: Tue, 6 May 2003 16:00:40 -0400
- Subject: RFA: ARM big-endian targets
This patch adds ld support for the arm*b-*-linux-gnu configuration, i.e.
default big endian. The assembler already does the right thing, so the
patch is really quite trivial.
OK? Should I add armeb-elf while I'm here?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
2003-05-06 Daniel Jacobowitz <drow@mvista.com>
* Makefile.am (ALL_EMULATIONS): Add earmelfb.o and earmelfb_linux.o.
(earmelfb.c, earmelfb_linux.c): New rules.
* Makefile.in: Regenerated.
* emulparams/armelfb.sh, emulparams/armelfb_linux.sh: New files.
diff -Nurp binutils-2.13.90.orig/ld/Makefile.am binutils-2.13.90/ld/Makefile.am
--- binutils-2.13.90.orig/ld/Makefile.am 2003-04-24 08:36:07.000000000 -0400
+++ binutils-2.13.90/ld/Makefile.am 2003-05-03 13:04:18.000000000 -0400
@@ -118,8 +118,10 @@ ALL_EMULATIONS = \
earmaoutl.o \
earmcoff.o \
earmelf.o \
+ earmelfb.o \
earmelf_fbsd.o \
earmelf_linux.o \
+ earmelfb_linux.o \
earmelf_nbsd.o \
earmelfb_nbsd.o \
earmelf_oabi.o \
@@ -457,6 +459,10 @@ earmelf.c: $(srcdir)/emulparams/armelf.s
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf "$(tdir_armelf)"
+earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
earmelf_oabi.c: $(srcdir)/emulparams/armelf_oabi.sh \
$(srcdir)/emultempl/armelf_oabi.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_oabi "$(tdir_armelf)"
@@ -469,6 +475,11 @@ earmelf_linux.c: $(srcdir)/emulparams/ar
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_linux "$(tdir_armelf_linux)"
+earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelfb_linux "$(tdir_armelfb_linux)"
earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
diff -Nurp binutils-2.13.90.orig/ld/configure.tgt binutils-2.13.90/ld/configure.tgt
--- binutils-2.13.90.orig/ld/configure.tgt 2003-05-03 12:45:05.000000000 -0400
+++ binutils-2.13.90/ld/configure.tgt 2003-05-03 12:54:36.000000000 -0400
@@ -244,6 +244,7 @@ arm-*-elf) targ_emul=armelf ;;
arm-*-kaos*) targ_emul=armelf ;;
arm9e-*-elf) targ_emul=armelf ;;
arm-*-oabi) targ_emul=armelf_oabi ;;
+arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
arm*-*-conix*) targ_emul=armelf ;;
diff -Nurp binutils-2.13.90.orig/ld/emulparams/armelfb.sh binutils-2.13.90/ld/emulparams/armelfb.sh
--- binutils-2.13.90.orig/ld/emulparams/armelfb.sh 1969-12-31 19:00:00.000000000 -0500
+++ binutils-2.13.90/ld/emulparams/armelfb.sh 2003-05-03 12:54:36.000000000 -0400
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf.sh
+OUTPUT_FORMAT="elf32-bigarm"
diff -Nurp binutils-2.13.90.orig/ld/emulparams/armelfb_linux.sh binutils-2.13.90/ld/emulparams/armelfb_linux.sh
--- binutils-2.13.90.orig/ld/emulparams/armelfb_linux.sh 1969-12-31 19:00:00.000000000 -0500
+++ binutils-2.13.90/ld/emulparams/armelfb_linux.sh 2003-05-03 12:54:36.000000000 -0400
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_linux.sh
+OUTPUT_FORMAT="elf32-bigarm"