diff options
author | Steve Chamberlain <sac@cygnus> | 1995-05-24 18:26:23 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-05-24 18:26:23 +0000 |
commit | 28d0c3ce1963ba684d0492524c1cba6454e1d401 (patch) | |
tree | c620928c28bc5d37aea94289fa49a3090fe645a5 | |
parent | a3444c49265832545462e75c90e0477515987dc8 (diff) | |
download | fsf-binutils-gdb-28d0c3ce1963ba684d0492524c1cba6454e1d401.zip fsf-binutils-gdb-28d0c3ce1963ba684d0492524c1cba6454e1d401.tar.gz fsf-binutils-gdb-28d0c3ce1963ba684d0492524c1cba6454e1d401.tar.bz2 |
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.
-rw-r--r-- | ld/ChangeLog | 49 | ||||
-rw-r--r-- | ld/Makefile.in | 23 | ||||
-rw-r--r-- | ld/config/.Sanitize | 1 | ||||
-rw-r--r-- | ld/config/arm-pe.mt | 1 | ||||
-rw-r--r-- | ld/emulparams/.Sanitize | 1 | ||||
-rw-r--r-- | ld/scripttempl/.Sanitize | 1 | ||||
-rw-r--r-- | ld/scripttempl/armpe.sc | 95 |
7 files changed, 166 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 95f722b..85246d2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,52 @@ +Wed May 24 11:23:21 1995 Steve Chamberlain <sac@slash.cygnus.com> + + 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 <dje@chestnut.cygnus.com> + + * configure.in (h8300h-*-hms): Deleted + * config/cf-h8300h.mt: Deleted. + +Thu May 18 04:26:10 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + 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 <meissner@tiktok.cygnus.com> + + * 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 <sac@slash.cygnus.com> + Tom Griest <griest@cs.yale.edu> + + 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 5af8651..17fbf51 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 364b58a..c1857d5 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 0000000..1b8f58d --- /dev/null +++ b/ld/config/arm-pe.mt @@ -0,0 +1 @@ +EMUL=armpe diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 570b70a..2fb49b9 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 0e6008a..e060d5f 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 0000000..6d7d45a --- /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 <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +${LIB_SEARCH_DIRS} + +ENTRY(_mainCRTStartup) + +SECTIONS +{ + + .text ${RELOCATING+ 0x401000} : + { + ${RELOCATING+ *(.init);} + *(.text) + ${RELOCATING+ *(.fini);} + ${RELOCATING+ etext = .}; + } + + .bss BLOCK(0x1000) : + { + *(.bss) + *(COMMON); + } + + .rdata BLOCK(0x1000) : + { + *(.rdata) + ; + } + .data BLOCK(0x1000) : { + *(.data) + *(.data2) + ; + } + .idata BLOCK(0x1000) : + { + *(.idata$2) + *(.idata$3) + *(.idata$4) + *(.idata$5) + *(.idata$6) + *(.idata$7) + ; + } + .CRT BLOCK(0x1000) : + { + *(.CRT$XCA) + *(.CRT$XCC) + *(.CRT$XCZ) + *(.CRT$XIA) + *(.CRT$XIC) + *(.CRT$XIZ) + *(.CRT$XLA) + *(.CRT$XLZ) + *(.CRT$XPA) + *(.CRT$XPX) + *(.CRT$XPZ) + *(.CRT$XTA) + *(.CRT$XTZ) + ; + } + .rsrc BLOCK(0x1000) : + { + *(.rsrc$01) + *(.rsrc$02) + ; + } + .reloc BLOCK(0x1000) : + { + *(.reloc) + ; + } + .junk BLOCK(0x1000) : + { + *(.debug$S) + *(.debug$T) + *(.debug$F) + *(.drectve) + ; + } + .stab 0 ${RELOCATING+(NOLOAD)} : + { + [ .stab ] + } + + .stabstr 0 ${RELOCATING+(NOLOAD)} : + { + [ .stabstr ] + } +} +EOF |