From 94349e12d27695a9b218471e3ef01ad66db479b2 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 30 Apr 2002 17:49:01 +0000 Subject: [PATCH] * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o. (eelf32ppcwindiss.c): New target. * Makefile.in: Regenerated. * configure.tgt: Add support for powerpc-*-windiss. * emulparams/elf32ppcwindiss.sh: New file. --- ld/ChangeLog | 8 ++++++++ ld/Makefile.am | 3 +++ ld/Makefile.in | 5 ++++- ld/configure.tgt | 1 + ld/emulparams/elf32ppcwindiss.sh | 23 +++++++++++++++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 ld/emulparams/elf32ppcwindiss.sh diff --git a/ld/ChangeLog b/ld/ChangeLog index 78c37a50c37..1319dbb198b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2002-04-30 Mark Mitchell + + * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o. + (eelf32ppcwindiss.c): New target. + * Makefile.in: Regenerated. + * configure.tgt: Add support for powerpc-*-windiss. + * emulparams/elf32ppcwindiss.sh: New file. + 2002-04-30 Richard Sandiford * ldlang.c (print_assignment): Update print_dot for assignments to ".". diff --git a/ld/Makefile.am b/ld/Makefile.am index 4dbc1f40f96..93ae6b66e37 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -163,6 +163,7 @@ ALL_EMULATIONS = \ eelf32ppc_fbsd.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ + eelf32ppcwindiss.o \ eelf32xstormy16.o \ eelf_i386.o \ eelf_i386_be.o \ @@ -540,6 +541,8 @@ eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \ $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)" +eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)" eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} diff --git a/ld/Makefile.in b/ld/Makefile.in index 213628b734d..31170347208 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -272,6 +272,7 @@ ALL_EMULATIONS = \ eelf32ppc_fbsd.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ + eelf32ppcwindiss.o \ eelf32xstormy16.o \ eelf_i386.o \ eelf_i386_be.o \ @@ -507,7 +508,7 @@ deffilep.c ldgram.c ldlex.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES) OBJECTS = $(ld_new_OBJECTS) @@ -1261,6 +1262,8 @@ eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \ $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)" +eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)" eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} diff --git a/ld/configure.tgt b/ld/configure.tgt index 4f75a128c1c..d2fecc98289 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -425,6 +425,7 @@ powerpcle-*-cygwin*) targ_emul=ppcpe ;; powerpc-*-aix5*) targ_emul=aix5ppc ;; powerpc-*-aix*) targ_emul=aixppc ;; powerpc-*-beos*) targ_emul=aixppc ;; +powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; rs6000-*-aix5*) targ_emul=aix5rs6 ;; rs6000-*-aix*) targ_emul=aixrs6 ;; tic30-*-*aout*) targ_emul=tic30aout ;; diff --git a/ld/emulparams/elf32ppcwindiss.sh b/ld/emulparams/elf32ppcwindiss.sh new file mode 100644 index 00000000000..c0e6138c29f --- /dev/null +++ b/ld/emulparams/elf32ppcwindiss.sh @@ -0,0 +1,23 @@ +TEMPLATE_NAME=elf32 +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-powerpc" +ARCH=powerpc +MACHINE= +EMBEDDED=yes +MAXPAGESIZE=0x10000 + +# The data below is taken from the windiss.dld linker script that comes with +# the Diab linker. +TEXT_START_ADDR=0x100000 +DATA_START_SYMBOLS='__DATA_ROM = .; __DATA_RAM = .;' +EXECUTABLE_SYMBOLS='__HEAP_START = .; __SP_INIT = 0x800000; __SP_END = __SP_INIT - 0x20000; __HEAP_END = __SP_END; __DATA_END = _edata; __BSS_START = __bss_start; __BSS_END = _end; __HEAP_START = _end;' + +# The Diab tools use a different init/fini convention. Initialization code +# is place in sections named ".init$NN". These sections are then concatenated +# into the .init section. It is important that .init$00 be first and .init$99 +# be last. The other sections should be sorted, but the current linker script +# parse does not seem to allow that with the SORT keyword in this context. +INIT_START='*(.init$00); *(.init$0[1-9]); *(.init$[1-8][0-9]); *(.init$9[0-8])' +INIT_END='*(.init$99)' +FINI_START='*(.fini$00); *(.fini$0[1-9]); *(.fini$[1-8][0-9]); *(.fini$9[0-8])' +FINI_END='*(.fini$99)' -- 2.30.2