This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: ARM EABI GNU/Linux


We're working on adding support for the ABI for the ARM Architecture
to GNU/Linux.  Here's a basic linker patch to add support for
arm-none-linux-gnueabi.  OK?

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com

2004-11-19  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add earmelf_linux_eabi.o.
	(earmelf_linux_eabi.c): New target.
	* configure.tgt (arm*-*-linux-gnueabi): Handle it.
	* emulparams/armelf_linux_eabi.sh: New file.
	* Makefile.in: Regenerated.
 
Index: ld/Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.164
diff -c -5 -p -r1.164 Makefile.am
*** ld/Makefile.am	8 Nov 2004 13:17:26 -0000	1.164
--- ld/Makefile.am	19 Nov 2004 18:24:56 -0000
*************** ALL_EMULATIONS = \
*** 119,128 ****
--- 119,129 ----
  	earmcoff.o \
  	earmelf.o \
  	earmelfb.o \
  	earmelf_fbsd.o \
  	earmelf_linux.o \
+ 	earmelf_linux_eabi.o \
  	earmelfb_linux.o \
  	earmelf_nbsd.o \
  	earmelfb_nbsd.o \
  	earmnto.o \
  	earmnbsd.o \
*************** earmelf_fbsd.c: $(srcdir)/emulparams/arm
*** 494,503 ****
--- 495,509 ----
  	${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
  earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
    $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} armelf_linux "$(tdir_armelf_linux)"
+ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
+   $(srcdir)/emulparams/armelf_linux.sh \
+   $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
+   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ 	${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
  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)"
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.159
diff -c -5 -p -r1.159 configure.tgt
*** ld/configure.tgt	8 Nov 2004 13:17:27 -0000	1.159
--- ld/configure.tgt	19 Nov 2004 18:24:57 -0000
*************** arm-*-elf | arm-*-vxworks | arm*-*-eabi*
*** 261,270 ****
--- 261,271 ----
  	  		targ_emul=armelf ;;
  arm*-*-symbianelf*)     targ_emul=armsymbian;;
  arm-*-kaos*)		targ_emul=armelf ;;
  arm9e-*-elf)		targ_emul=armelf ;;
  arm*b-*-linux-gnu*)	targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
+ arm*-*-linux-gnueabi)	targ_emul=armelf_linux_eabi ;;
  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 ;;
  thumb-*-linux-gnu* | thumb-*-uclinux*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  strongarm-*-coff)	targ_emul=armcoff ;;
Index: ld/emulparams/armelf_linux_eabi.sh
===================================================================
RCS file: ld/emulparams/armelf_linux_eabi.sh
diff -N ld/emulparams/armelf_linux_eabi.sh
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- ld/emulparams/armelf_linux_eabi.sh	19 Nov 2004 18:24:57 -0000
***************
*** 0 ****
--- 1,9 ----
+ . ${srcdir}/emulparams/armelf_linux.sh
+ 
+ # Use the ARM ABI-compliant exception-handling sections.
+ OTHER_READONLY_SECTIONS="
+   .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
+   ${RELOCATING+ __exidx_start = .; }
+   .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
+   ${RELOCATING+ __exidx_end = .; }"
+ 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]