From 28d0c3ce1963ba684d0492524c1cba6454e1d401 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Wed, 24 May 1995 18:26:23 +0000 Subject: [PATCH] Add support for ARM-PE. * Makefile.in (ALL_EMULATIONS): Add armpe.o * configure.in: Recognize armpe. * config/arm-pe.mt: New file. * emulparams/armpe.sh: New file. * scripttempl/armpe.sc: New file. --- ld/ChangeLog | 49 +++++++++++++++++++++ ld/Makefile.in | 23 +++++++--- ld/config/.Sanitize | 1 + ld/config/arm-pe.mt | 1 + ld/emulparams/.Sanitize | 1 + ld/scripttempl/.Sanitize | 1 + ld/scripttempl/armpe.sc | 95 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 166 insertions(+), 5 deletions(-) create mode 100644 ld/config/arm-pe.mt create mode 100644 ld/scripttempl/armpe.sc diff --git a/ld/ChangeLog b/ld/ChangeLog index 95f722ba91e..85246d259d5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,52 @@ +Wed May 24 11:23:21 1995 Steve Chamberlain + + Add support for ARM-PE. + * Makefile.in (ALL_EMULATIONS): Add armpe.o + * configure.in: Recognize armpe. + * config/arm-pe.mt: New file. + * emulparams/armpe.sh: New file. + * scripttempl/armpe.sc: New file. + + +Mon May 22 15:19:26 1995 Doug Evans + + * configure.in (h8300h-*-hms): Deleted + * config/cf-h8300h.mt: Deleted. + +Thu May 18 04:26:10 1995 Ken Raeburn + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + From David Taylor (dtaylor@armltd.co.uk) + * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o + * configure.in: Recognize arm{,e[lb]-*-aout. + * config/arm[lb]-aout.mt: New files. + * emulparams/armaout[lb].sh: New files. + * scripttempl/armaout.sc: New file. + +Tue May 16 18:27:11 1995 Michael Meissner + + * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to + be unique in 8 characters for DOS. + + * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh. + * emulparams/elf32ppcle.sh: Deleted. + +Fri May 12 11:03:55 1995 Steve Chamberlain + Tom Griest + + Initial support for PE executables (eg NT, win32) + + * Makefile.in (configure.in, ei386pe): Add support. + * ldmain.c (main): Initialize PE argument info. + * ldwrite.c (print_file_stuff): Don't print out .drectve + and .debug section info. + * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP, + OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap): + Handle new arguments. + * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc: + New files + Wed May 10 18:37:59 1995 Stu Grossman (grossman@andros.cygnus.com) * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text diff --git a/ld/Makefile.in b/ld/Makefile.in index 5af86513f70..17fbf51864e 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -194,7 +194,8 @@ BFDLIB = ../bfd/libbfd.a LIBIBERTY = ../libiberty/libiberty.a -ALL_EMULATIONS = ea29k.o ealpha.o ecoff_sparc.o eebmon29k.o \ +ALL_EMULATIONS = ea29k.o ealpha.o earmaoutl.o earmoutb.o \ + ecoff_sparc.o eebmon29k.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 \ @@ -205,7 +206,7 @@ ALL_EMULATIONS = ea29k.o ealpha.o ecoff_sparc.o eebmon29k.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 \ est2000.o esun3.o esun4.o evanilla.o evax.o evsta.o \ - ez8ksim.o + ez8ksim.o ei386pe.o earmpe.o CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ @@ -282,6 +283,9 @@ esun4.c: $(srcdir)/emulparams/sun4.sh \ esun3.c: $(srcdir)/emulparams/sun3.sh \ $(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} sun3 +earmpe.c: $(srcdir)/emulparams/armpe.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armpe.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armpe evsta.c: $(srcdir)/emulparams/vsta.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} vsta @@ -300,6 +304,9 @@ ehp300bsd.c: $(srcdir)/emulparams/hp300bsd.sh \ ehp3hpux.c: $(srcdir)/emulparams/hp3hpux.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} hp3hpux +ei386pe.c: $(srcdir)/emulparams/i386pe.sh \ + $(srcdir)/emultempl/i386pe.em $(srcdir)/scripttempl/i386pe.sc ${GEN_DEPENDS} + ${GENSCRIPTS} i386pe ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \ $(srcdir)/emultempl/hppaelf.em $(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS} ${GENSCRIPTS} hppaelf @@ -354,9 +361,6 @@ eshl.c: $(srcdir)/emulparams/shl.sh \ est2000.c: $(srcdir)/emulparams/st2000.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/st2000.sc ${GEN_DEPENDS} ${GENSCRIPTS} st2000 -ez8ksim.c: $(srcdir)/emulparams/z8ksim.sh \ - $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8ksim.sc ${GEN_DEPENDS} - ${GENSCRIPTS} z8ksim evanilla.c: $(srcdir)/emulparams/vanilla.sh \ $(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS} ${GENSCRIPTS} vanilla @@ -469,6 +473,15 @@ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ esparcnbsd.c: $(srcdir)/emulparams/sparcnbsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} sparcnbsd +earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armaoutl +earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armaoutb +ez8ksim.c: $(srcdir)/emulparams/z8ksim.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8ksim.sc ${GEN_DEPENDS} + ${GENSCRIPTS} z8ksim # start-sanitize-arc earcelf.c: $(srcdir)/emulparams/arcelf.sh \ diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize index 364b58a1a39..c1857d585cb 100644 --- a/ld/config/.Sanitize +++ b/ld/config/.Sanitize @@ -41,6 +41,7 @@ Things-to-keep: alpha.mt alphaosf.mh +arm-pe.mt armb-aout.mt arml-aout.mt coff-a29k.mt diff --git a/ld/config/arm-pe.mt b/ld/config/arm-pe.mt new file mode 100644 index 00000000000..1b8f58d6b3e --- /dev/null +++ b/ld/config/arm-pe.mt @@ -0,0 +1 @@ +EMUL=armpe diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 570b70a5b8a..2fb49b97e6b 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -44,6 +44,7 @@ a29k.sh alpha.sh armaoutb.sh armaoutl.sh +armpe.sh coff_sparc.sh ebmon29k.sh elf32_sparc.sh diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index 0e6008a87dc..e060d5f0b5b 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -34,6 +34,7 @@ Things-to-keep: README a29k.sc alpha.sc +armpe.sc armaout.sc aout.sc ebmon29k.sc diff --git a/ld/scripttempl/armpe.sc b/ld/scripttempl/armpe.sc new file mode 100644 index 00000000000..6d7d45a42c0 --- /dev/null +++ b/ld/scripttempl/armpe.sc @@ -0,0 +1,95 @@ +# Linker script for ARM PE. +# These are substituted in as variables in order to get '}' in a shell +# conditional expansion. +INIT='.init : { *(.init) }' +FINI='.fini : { *(.fini) }' +cat <