aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-11-19 19:28:40 +0000
committerMark Mitchell <mark@codesourcery.com>2004-11-19 19:28:40 +0000
commit6b3221b47a7e47dc7d84cdb855b1e5328bc91a92 (patch)
tree312d22f1037a43e2d5917551c5b9b95657eaa77f
parent5da8bf1b0bcc13d997c42283a80c3b847b621f99 (diff)
downloadgdb-6b3221b47a7e47dc7d84cdb855b1e5328bc91a92.zip
gdb-6b3221b47a7e47dc7d84cdb855b1e5328bc91a92.tar.gz
gdb-6b3221b47a7e47dc7d84cdb855b1e5328bc91a92.tar.bz2
* 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.
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/Makefile.am6
-rw-r--r--ld/Makefile.in377
-rw-r--r--ld/configure.tgt1
-rw-r--r--ld/emulparams/armelf_linux_eabi.sh9
5 files changed, 378 insertions, 23 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index cb4ef16..aa5b1a6 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+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.
+
2004-11-19 Nick Clifton <nickc@redhat.com>
PR 518
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 32a630f..096218a 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -121,6 +121,7 @@ ALL_EMULATIONS = \
earmelfb.o \
earmelf_fbsd.o \
earmelf_linux.o \
+ earmelf_linux_eabi.o \
earmelfb_linux.o \
earmelf_nbsd.o \
earmelfb_nbsd.o \
@@ -496,6 +497,11 @@ 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 \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 39f2878..f20a360 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -167,7 +167,8 @@ MANCONF = -Dman
TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl
-POD2MAN = pod2man --center="GNU Development Tools" --release="binutils-$(VERSION)" --section=1
+POD2MAN = pod2man --center="GNU Development Tools" \
+ --release="binutils-$(VERSION)" --section=1
#stuff for self hosting (can be overridden in config file).
@@ -176,19 +177,49 @@ HOSTING_LIBS = @HOSTING_LIBS@
HOSTING_EMU = -m $(EMUL)
# Setup the testing framework, if you have one
-EXPECT = `if [ -f $$r/../expect/expect ] ; then echo $$r/../expect/expect ; else echo expect ; fi`
+EXPECT = `if [ -f $$r/../expect/expect ] ; \
+ then echo $$r/../expect/expect ; \
+ else echo expect ; fi`
-RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; then echo $${srcroot}/../dejagnu/runtest ; else echo runtest ; fi`
+RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; \
+ then echo $${srcroot}/../dejagnu/runtest ; \
+ else echo runtest ; fi`
RUNTESTFLAGS =
-CC_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CC); else echo gcc | sed '$(transform)'; fi; fi`
+CC_FOR_TARGET = ` \
+ if [ -f $$r/../gcc/xgcc ] ; then \
+ if [ -f $$r/../newlib/Makefile ] ; then \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
+ else \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/; \
+ fi; \
+ else \
+ if [ "@host@" = "@target@" ] ; then \
+ echo $(CC); \
+ else \
+ echo gcc | sed '$(transform)'; \
+ fi; \
+ fi`
CXX = gcc
-CXX_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CXX); else echo gcc | sed '$(transform)'; fi; fi`
+CXX_FOR_TARGET = ` \
+ if [ -f $$r/../gcc/xgcc ] ; then \
+ if [ -f $$r/../newlib/Makefile ] ; then \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
+ else \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/; \
+ fi; \
+ else \
+ if [ "@host@" = "@target@" ] ; then \
+ echo $(CXX); \
+ else \
+ echo gcc | sed '$(transform)'; \
+ fi; \
+ fi`
noinst_PROGRAMS = ld-new
@@ -201,25 +232,318 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(to
BFDLIB = ../bfd/libbfd.la
LIBIBERTY = ../libiberty/libiberty.a
-ALL_EMULATIONS = ea29k.o eaixppc.o eaixrs6.o ealpha.o earcelf.o earm_epoc_pe.o earmaoutb.o earmaoutl.o earmcoff.o earmelf.o earmelfb.o earmelf_fbsd.o earmelf_linux.o earmelfb_linux.o earmelf_nbsd.o earmelfb_nbsd.o earmnto.o earmnbsd.o earmpe.o earmsymbian.o eavr2.o eavr1.o eavr3.o eavr4.o eavr5.o ecoff_i860.o ecoff_sparc.o ecrisaout.o ecriself.o ecrislinux.o ed10velf.o ed30v_e.o ed30v_o.o ed30velf.o edelta68.o eelf32_dlx.o eebmon29k.o eelf32_i960.o eelf32_i860.o eelf32_sparc.o eelf32b4300.o eelf32cr16c.o eelf32bmip.o eelf32bmipn32.o eelf32btsmip.o eelf32crx.o eelf32btsmipn32.o eelf32ltsmip.o eelf32ltsmipn32.o eelf32ebmip.o eelf32elmip.o eelf32fr30.o eelf32frv.o eelf32i370.o eelf32ip2k.o eelf32iq2000.o eelf32iq10.o eelf32l4300.o eelf32lmip.o eelf32lppc.o eelf32lppcnto.o eelf32lppcsim.o eelf32mcore.o eelf32mipswindiss.o eelf32openrisc.o eelf32ppc.o eelf32ppc_fbsd.o eelf32ppclinux.o eelf32ppcnto.o eelf32ppcsim.o eelf32ppcwindiss.o eelf32vax.o eelf32xstormy16.o eelf32xtensa.o eelf_i386.o eelf_i386_be.o eelf_i386_chaos.o eelf_i386_fbsd.o eelf_i386_ldso.o eelf_s390.o egld960.o egld960coff.o eh8300.o eh8300h.o eh8300s.o eh8300elf.o eh8300hn.o eh8300sn.o eh8300sx.o eh8300helf.o eh8300self.o eh8300hnelf.o eh8300snelf.o eh8300sxelf.o eh8300sxn.o eh8300sxnelf.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o ehp300bsd.o ehp3hpux.o ehppaelf.o ehppalinux.o ehppanbsd.o ehppaobsd.o ei386aout.o ei386beos.o ei386bsd.o ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o ei386moss.o ei386msdos.o ei386nbsd.o ei386nto.o ei386nw.o ei386pe.o ei386pe_posix.o elnk960.o em32relf.o em32rlelf.o em32relf_linux.o em32rlelf_linux.o em68hc11elf.o em68hc11elfb.o em68hc12elf.o em68hc12elfb.o em68k4knbsd.o em68kaout.o em68kaux.o em68kcoff.o em68kelf.o em68kelfnbsd.o em68klinux.o em68klynx.o em68knbsd.o em68kpsos.o em88kbcs.o emaxqcoff.o emcorepe.o emipsbig.o emipsbsd.o emipsidt.o emipsidtl.o emipslit.o emipslnews.o emipspe.o emsp430x110.o emsp430x112.o emsp430x1101.o emsp430x1111.o emsp430x1121.o emsp430x1122.o emsp430x1132.o emsp430x122.o emsp430x123.o emsp430x1222.o emsp430x1232.o emsp430x133.o emsp430x135.o emsp430x1331.o emsp430x1351.o emsp430x147.o emsp430x148.o emsp430x149.o emsp430x155.o emsp430x156.o emsp430x157.o emsp430x167.o emsp430x168.o emsp430x169.o emsp430x1610.o emsp430x1611.o emsp430x1612.o emsp430x311.o emsp430x312.o emsp430x313.o emsp430x314.o emsp430x315.o emsp430x323.o emsp430x325.o emsp430x336.o emsp430x337.o emsp430x412.o emsp430x413.o emsp430x415.o emsp430x417.o emsp430xE423.o emsp430xE425.o emsp430xE427.o emsp430xW423.o emsp430xW425.o emsp430xW427.o emsp430xG437.o emsp430xG438.o emsp430xG439.o emsp430x435.o emsp430x436.o emsp430x437.o emsp430x447.o emsp430x448.o emsp430x449.o enews.o ens32knbsd.o eor32.o eor32elf.o epc532macha.o epdp11.o epjelf.o epjlelf.o eppcmacos.o eppcnw.o eppcpe.o eppclynx.o eriscix.o esa29200.o esh.o eshelf32.o eshlelf32.o eshelf32_linux.o eshlelf32_linux.o eshelf32_nbsd.o eshlelf32_nbsd.o eshelf.o eshelf_linux.o eshlelf_linux.o eshelf_nbsd.o eshlelf_nbsd.o eshelf_nto.o eshlelf_nto.o eshl.o eshlelf.o eshlsymbian.o eshpe.o esparcaout.o esparclinux.o esparclynx.o esparcnbsd.o est2000.o esun3.o esun4.o etic30aout.o etic30coff.o etic3xcoff.o etic3xcoff_onchip.o etic4xcoff.o etic54xcoff.o etic80coff.o evanilla.o evax.o evaxnbsd.o evsta.o ew65.o ez8001.o eelf32frvfd.o ez8002.o
-
-
-ALL_64_EMULATIONS = eelf64_aix.o eelf64_ia64.o eelf64_ia64_fbsd.o eshelf64.o eshlelf64.o eshelf64_nbsd.o eshlelf64_nbsd.o eelf_x86_64.o eelf_x86_64_fbsd.o eelf64_s390.o eelf64_sparc.o eelf64_sparc_fbsd.o eelf64alpha.o eelf64alpha_fbsd.o eelf64alpha_nbsd.o eelf64bmip.o eelf64btsmip.o eelf64ltsmip.o eelf64hppa.o eelf64mmix.o emmo.o eelf64ppc.o eelf64lppc.o ehppa64linux.o
-
-
-ALL_EMUL_EXTRA_OFILES = deffilep.o pe-dll.o
-
-
-CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c mri.c ldcref.c pe-dll.c
-
-
-HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h ldwrite.h mri.h deffile.h pe-dll.h
+ALL_EMULATIONS = \
+ ea29k.o \
+ eaixppc.o \
+ eaixrs6.o \
+ ealpha.o \
+ earcelf.o \
+ earm_epoc_pe.o \
+ earmaoutb.o \
+ earmaoutl.o \
+ 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 \
+ earmpe.o \
+ earmsymbian.o \
+ eavr2.o \
+ eavr1.o \
+ eavr3.o \
+ eavr4.o \
+ eavr5.o \
+ ecoff_i860.o \
+ ecoff_sparc.o \
+ ecrisaout.o \
+ ecriself.o \
+ ecrislinux.o \
+ ed10velf.o \
+ ed30v_e.o \
+ ed30v_o.o \
+ ed30velf.o \
+ edelta68.o \
+ eelf32_dlx.o \
+ eebmon29k.o \
+ eelf32_i960.o \
+ eelf32_i860.o \
+ eelf32_sparc.o \
+ eelf32b4300.o \
+ eelf32cr16c.o \
+ eelf32bmip.o \
+ eelf32bmipn32.o \
+ eelf32btsmip.o \
+ eelf32crx.o \
+ eelf32btsmipn32.o \
+ eelf32ltsmip.o \
+ eelf32ltsmipn32.o \
+ eelf32ebmip.o \
+ eelf32elmip.o \
+ eelf32fr30.o \
+ eelf32frv.o \
+ eelf32i370.o \
+ eelf32ip2k.o \
+ eelf32iq2000.o \
+ eelf32iq10.o \
+ eelf32l4300.o \
+ eelf32lmip.o \
+ eelf32lppc.o \
+ eelf32lppcnto.o \
+ eelf32lppcsim.o \
+ eelf32mcore.o \
+ eelf32mipswindiss.o \
+ eelf32openrisc.o \
+ eelf32ppc.o \
+ eelf32ppc_fbsd.o \
+ eelf32ppclinux.o \
+ eelf32ppcnto.o \
+ eelf32ppcsim.o \
+ eelf32ppcwindiss.o \
+ eelf32vax.o \
+ eelf32xstormy16.o \
+ eelf32xtensa.o \
+ eelf_i386.o \
+ eelf_i386_be.o \
+ eelf_i386_chaos.o \
+ eelf_i386_fbsd.o \
+ eelf_i386_ldso.o \
+ eelf_s390.o \
+ egld960.o \
+ egld960coff.o \
+ eh8300.o \
+ eh8300h.o \
+ eh8300s.o \
+ eh8300elf.o \
+ eh8300hn.o \
+ eh8300sn.o \
+ eh8300sx.o \
+ eh8300helf.o \
+ eh8300self.o \
+ eh8300hnelf.o \
+ eh8300snelf.o \
+ eh8300sxelf.o \
+ eh8300sxn.o \
+ eh8300sxnelf.o \
+ eh8500.o \
+ eh8500b.o \
+ eh8500c.o \
+ eh8500m.o \
+ eh8500s.o \
+ ehp300bsd.o \
+ ehp3hpux.o \
+ ehppaelf.o \
+ ehppalinux.o \
+ ehppanbsd.o \
+ ehppaobsd.o \
+ ei386aout.o \
+ ei386beos.o \
+ ei386bsd.o \
+ ei386coff.o \
+ ei386go32.o \
+ ei386linux.o \
+ ei386lynx.o \
+ ei386mach.o \
+ ei386moss.o \
+ ei386msdos.o \
+ ei386nbsd.o \
+ ei386nto.o \
+ ei386nw.o \
+ ei386pe.o \
+ ei386pe_posix.o \
+ elnk960.o \
+ em32relf.o \
+ em32rlelf.o \
+ em32relf_linux.o \
+ em32rlelf_linux.o \
+ em68hc11elf.o \
+ em68hc11elfb.o \
+ em68hc12elf.o \
+ em68hc12elfb.o \
+ em68k4knbsd.o \
+ em68kaout.o \
+ em68kaux.o \
+ em68kcoff.o \
+ em68kelf.o \
+ em68kelfnbsd.o \
+ em68klinux.o \
+ em68klynx.o \
+ em68knbsd.o \
+ em68kpsos.o \
+ em88kbcs.o \
+ emaxqcoff.o \
+ emcorepe.o \
+ emipsbig.o \
+ emipsbsd.o \
+ emipsidt.o \
+ emipsidtl.o \
+ emipslit.o \
+ emipslnews.o \
+ emipspe.o \
+ emsp430x110.o \
+ emsp430x112.o \
+ emsp430x1101.o \
+ emsp430x1111.o \
+ emsp430x1121.o \
+ emsp430x1122.o \
+ emsp430x1132.o \
+ emsp430x122.o \
+ emsp430x123.o \
+ emsp430x1222.o \
+ emsp430x1232.o \
+ emsp430x133.o \
+ emsp430x135.o \
+ emsp430x1331.o \
+ emsp430x1351.o \
+ emsp430x147.o \
+ emsp430x148.o \
+ emsp430x149.o \
+ emsp430x155.o \
+ emsp430x156.o \
+ emsp430x157.o \
+ emsp430x167.o \
+ emsp430x168.o \
+ emsp430x169.o \
+ emsp430x1610.o \
+ emsp430x1611.o \
+ emsp430x1612.o \
+ emsp430x311.o \
+ emsp430x312.o \
+ emsp430x313.o \
+ emsp430x314.o \
+ emsp430x315.o \
+ emsp430x323.o \
+ emsp430x325.o \
+ emsp430x336.o \
+ emsp430x337.o \
+ emsp430x412.o \
+ emsp430x413.o \
+ emsp430x415.o \
+ emsp430x417.o \
+ emsp430xE423.o \
+ emsp430xE425.o \
+ emsp430xE427.o \
+ emsp430xW423.o \
+ emsp430xW425.o \
+ emsp430xW427.o \
+ emsp430xG437.o \
+ emsp430xG438.o \
+ emsp430xG439.o \
+ emsp430x435.o \
+ emsp430x436.o \
+ emsp430x437.o \
+ emsp430x447.o \
+ emsp430x448.o \
+ emsp430x449.o \
+ enews.o \
+ ens32knbsd.o \
+ eor32.o \
+ eor32elf.o \
+ epc532macha.o \
+ epdp11.o \
+ epjelf.o \
+ epjlelf.o \
+ eppcmacos.o \
+ eppcnw.o \
+ eppcpe.o \
+ eppclynx.o \
+ eriscix.o \
+ esa29200.o \
+ esh.o \
+ eshelf32.o \
+ eshlelf32.o \
+ eshelf32_linux.o \
+ eshlelf32_linux.o \
+ eshelf32_nbsd.o \
+ eshlelf32_nbsd.o \
+ eshelf.o \
+ eshelf_linux.o \
+ eshlelf_linux.o \
+ eshelf_nbsd.o \
+ eshlelf_nbsd.o \
+ eshelf_nto.o \
+ eshlelf_nto.o \
+ eshl.o \
+ eshlelf.o \
+ eshlsymbian.o \
+ eshpe.o \
+ esparcaout.o \
+ esparclinux.o \
+ esparclynx.o \
+ esparcnbsd.o \
+ est2000.o \
+ esun3.o \
+ esun4.o \
+ etic30aout.o \
+ etic30coff.o \
+ etic3xcoff.o \
+ etic3xcoff_onchip.o \
+ etic4xcoff.o \
+ etic54xcoff.o \
+ etic80coff.o \
+ evanilla.o \
+ evax.o \
+ evaxnbsd.o \
+ evsta.o \
+ ew65.o \
+ ez8001.o \
+ eelf32frvfd.o \
+ ez8002.o
+
+
+ALL_64_EMULATIONS = \
+ eelf64_aix.o \
+ eelf64_ia64.o \
+ eelf64_ia64_fbsd.o \
+ eshelf64.o \
+ eshlelf64.o \
+ eshelf64_nbsd.o \
+ eshlelf64_nbsd.o \
+ eelf_x86_64.o \
+ eelf_x86_64_fbsd.o \
+ eelf64_s390.o \
+ eelf64_sparc.o \
+ eelf64_sparc_fbsd.o \
+ eelf64alpha.o \
+ eelf64alpha_fbsd.o \
+ eelf64alpha_nbsd.o \
+ eelf64bmip.o \
+ eelf64btsmip.o \
+ eelf64ltsmip.o \
+ eelf64hppa.o \
+ eelf64mmix.o \
+ emmo.o \
+ eelf64ppc.o \
+ eelf64lppc.o \
+ ehppa64linux.o
+
+
+ALL_EMUL_EXTRA_OFILES = \
+ deffilep.o \
+ pe-dll.o
+
+
+CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
+ ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
+ mri.c ldcref.c pe-dll.c
+
+
+HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
+ ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
+ ldwrite.h mri.h deffile.h pe-dll.h
GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
-OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
+OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
+ ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \
+ ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
STAGESTUFF = *.o ldscripts/* e*.c
@@ -238,7 +562,8 @@ GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
# We need this for automake to use YLWRAP.
EXTRA_ld_new_SOURCES = deffilep.y
-ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
+ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
+ ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLDEPS)
ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLLIBS)
@@ -251,7 +576,8 @@ MAINTAINERCLEANFILES = ldver.texi
# We want to reconfigure if configure.host or configure.tgt changes.
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt
-MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) ldemul-list.h crtbegin.o crtend.o ld.log ld.sum
+MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
+ ldemul-list.h crtbegin.o crtend.o ld.log ld.sum
CLEANFILES = dep.sed DEP DEPA DEP1 DEP2
@@ -783,7 +1109,7 @@ distclean-generic:
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
- -test -z "ldlexldeffilephdeffilepcldgramhldgramc$(MAINTAINERCLEANFILES)" || rm -f ldlexl deffileph deffilepc ldgramh ldgramc $(MAINTAINERCLEANFILES)
+ -test -z "ldlexcdeffilephdeffilepcldgramhldgramc$(MAINTAINERCLEANFILES)" || rm -f ldlexc deffileph deffilepc ldgramh ldgramc $(MAINTAINERCLEANFILES)
mostlyclean-am: mostlyclean-hdr mostlyclean-noinstPROGRAMS \
mostlyclean-compile mostlyclean-libtool \
mostlyclean-aminfo mostlyclean-tags mostlyclean-generic \
@@ -908,6 +1234,11 @@ 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 \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 1a20c85..841bce7 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -263,6 +263,7 @@ 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 ;;
diff --git a/ld/emulparams/armelf_linux_eabi.sh b/ld/emulparams/armelf_linux_eabi.sh
new file mode 100644
index 0000000..f6d4757
--- /dev/null
+++ b/ld/emulparams/armelf_linux_eabi.sh
@@ -0,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 = .; }"
+