From: Michael Meissner Date: Tue, 9 May 1995 21:23:44 +0000 (+0000) Subject: Add little endian PowerPC support. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=417ced0de7d535ea4ab39e4606df5ef8a457cbd4;p=binutils-gdb.git Add little endian PowerPC support. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index c801c603031..219e4553d77 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +Tue May 9 17:19:57 1995 Michael Meissner + + * configure.in: Add little endian PowerPC support. + + * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o. + (eelf32ppcle.c): Support for little endian PowerPC. + + * config/ppcle-elf32.mt: New file for little endian PowerPC. + * emulparams/elf32ppcle.sh: Ditto. + Wed May 3 12:56:32 1995 Ken Raeburn * ldlang.c (print_output_section_statement): Check diff --git a/ld/Makefile.in b/ld/Makefile.in index ac8f5edaf19..5af86513f70 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -195,12 +195,12 @@ LIBIBERTY = ../libiberty/libiberty.a ALL_EMULATIONS = ea29k.o ealpha.o ecoff_sparc.o eebmon29k.o \ - eelf32_sparc.o eelf32bmip.o eelf32lmip.o eelf32ppc.o \ + eelf32_sparc.o eelf32bmip.o eelf32lmip.o eelf32ppc.o eelf32ppcle.o \ eelf64_sparc.o eelf_i386.o egld960.o ego32.o eh8300.o \ eh8300h.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o \ ehp300bsd.o ehp3hpux.o ehppaelf.o ei386aout.o ei386bsd.o \ ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o \ - ei386nbsd.o ei386nw.o elnk960.o em68kaout.o em68kcoff.o \ + ei386nbsd.o ei386nw.o elnk960.o em68kaout.o em68kcoff.o em68kelf.o \ em68klynx.o em68knbsd.o em88kbcs.o emipsbig.o emipsbsd.o \ emipsidt.o emipsidtl.o emipslit.o enews.o ens32knbsd.o eppcnw.o \ eriscix.o esa29200.o eshl.o esh.o esparclynx.o esparcnbsd.o \ @@ -372,6 +372,9 @@ egld960coff.c: $(srcdir)/emulparams/gld960coff.sh \ em68kcoff.c: $(srcdir)/emulparams/m68kcoff.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m68kcoff.sc ${GEN_DEPENDS} ${GENSCRIPTS} m68kcoff +em68kelf.c: $(srcdir)/emulparams/m68kelf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} m68kelf em68klynx.c: $(srcdir)/emulparams/m68klynx.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m68klynx.sc ${GEN_DEPENDS} ${GENSCRIPTS} m68klynx @@ -394,10 +397,10 @@ emipsbsd.c: $(srcdir)/emulparams/mipsbsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/mipsbsd.sc ${GEN_DEPENDS} ${GENSCRIPTS} mipsbsd emipsidt.c: $(srcdir)/emulparams/mipsidt.sh \ - $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS} ${GENSCRIPTS} mipsidt emipsidtl.c: $(srcdir)/emulparams/mipsidtl.sh \ - $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS} ${GENSCRIPTS} mipsidtl eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -420,6 +423,9 @@ esparclynx.c: $(srcdir)/emulparams/sparclynx.sh \ eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppc +eelf32ppcle.c: $(srcdir)/emulparams/elf32ppcle.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ppcle eriscix.c: $(srcdir)/emulparams/riscix.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} riscix @@ -440,6 +446,10 @@ epc532machaout.c: $(srcdir)/emulparams/pc532machaout.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} pc532machaout +ew65.c: $(srcdir)/emulparams/w65.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/w65.sc ${GEN_DEPENDS} + ${GENSCRIPTS} w65 + ei386nw.c: $(srcdir)/emulparams/i386nw.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/nw.sc ${GEN_DEPENDS} ${GENSCRIPTS} i386nw @@ -459,11 +469,17 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ esparcnbsd.c: $(srcdir)/emulparams/sparcnbsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} sparcnbsd -# start-santize-rce + +# start-sanitize-arc +earcelf.c: $(srcdir)/emulparams/arcelf.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} arcelf +# end-sanitize-arc +# start-sanitize-rce erce.c: $(srcdir)/emulparams/rce.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/rce.sc ${GEN_DEPENDS} ${GENSCRIPTS} rce -# end-santize-rce +# end-sanitize-rce $(LD_PROG): $(OFILES) $(BFDLIB) $(LIBIBERTY) $(CC) $(CFLAGS) $(LDFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(EXTRALIBS) @@ -522,7 +538,8 @@ check: site.exp else true ; fi ; \ $(RUNTEST) --tool ld --srcdir $(srcdir)/testsuite $(RUNTESTFLAGS) \ CC="$(CC_FOR_TARGET)" CFLAGS="$(CFLAGS)" \ - CXX="$(CXX_FOR_TARGET)" CXXFLAGS="$(CXXFLAGS)" + CXX="$(CXX_FOR_TARGET)" CXXFLAGS="$(CXXFLAGS)" \ + CC_FOR_HOST="$(CC)" CFLAGS_FOR_HOST="$(CFLAGS)" installcheck: .PHONY: check installcheck @@ -730,11 +747,8 @@ mostlyclean: -rm -fr tmpdir clean: mostlyclean -rm -f $(LD_PROG) configdoc.texi -distclean: - -rm -fr Makefile config.status TAGS sysdep.h ldscripts site.exp site.bak \ - $(STAGESTUFF) ld.?? ld.??s ld.toc ld.aux ld.log ldlex.[qp] \ - $(LD_PROG) ld ld1 ld2 ld3 *.o y.output cdtest cdtest.out \ - configdoc.texi tmpdir +distclean: clean + -rm -rf Makefile config.status TAGS ldscripts site.exp site.bak realclean: clean distclean -rm -f $(LDDISTSTUFF) diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize index ee9ed6f6bd5..b83a01e9b3c 100644 --- a/ld/config/.Sanitize +++ b/ld/config/.Sanitize @@ -103,6 +103,7 @@ ose68.mt pc532mach.mt ppc-elf32.mt ppc-nw.mt +ppcle-elf32.mt riscix.mt rtbsd.mh sa29200.mt diff --git a/ld/config/ppcle-elf32.mt b/ld/config/ppcle-elf32.mt new file mode 100644 index 00000000000..b99bde43966 --- /dev/null +++ b/ld/config/ppcle-elf32.mt @@ -0,0 +1 @@ +EMUL=elf32ppcle diff --git a/ld/configure.in b/ld/configure.in index e8a858a4d76..ba5e5b809e8 100644 --- a/ld/configure.in +++ b/ld/configure.in @@ -124,8 +124,8 @@ case "${targ}" in z8k-*-sim | z8k-*-coff) ld_target=z8ksim ;; ns32k-pc532-mach) ld_target=pc532mach ;; ns32k-pc532-netbsd*) ld_target=ns32k-nbsd ;; - powerpc-*-elf*) ld_target=ppc-elf32 ;; - powerpc-*-eabi*) ld_target=ppc-elf32 ;; + powerpc-*-elf* | powerpc-*-eabi*) ld_target=ppc-elf32 ;; + powerpcle-*-elf* | powerpcle-*-eabi*) ld_target=ppcle-elf32 ;; powerpc-*-netware*) ld_target=ppc-nw ;; w65-*-*) ld_target=coff-w65 ;; *-*-aout) ld_target=${target_cpu}-${target_vendor} ;; diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index c3f1ccb68d6..b17b1afda59 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -49,6 +49,7 @@ elf64_sparc.sh elf32bmip.sh elf32lmip.sh elf32ppc.sh +elf32ppcle.sh elf_i386.sh gld960.sh gld960coff.sh diff --git a/ld/emulparams/elf32ppcle.sh b/ld/emulparams/elf32ppcle.sh new file mode 100644 index 00000000000..1648f57176e --- /dev/null +++ b/ld/emulparams/elf32ppcle.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=elfppc +OUTPUT_FORMAT="elf32-powerpcle" +TEXT_START_ADDR=0x0400000 +DATA_ADDR=0x10000000 +MAXPAGESIZE=0x40000 +NONPAGED_TEXT_START_ADDR=0x0400000 +ARCH=powerpc