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.
This commit is contained in:
Steve Chamberlain 1995-05-24 18:26:23 +00:00
parent a3444c4926
commit 28d0c3ce19
7 changed files with 166 additions and 5 deletions

View File

@ -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

View File

@ -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 \

View File

@ -41,6 +41,7 @@ Things-to-keep:
alpha.mt
alphaosf.mh
arm-pe.mt
armb-aout.mt
arml-aout.mt
coff-a29k.mt

1
ld/config/arm-pe.mt Normal file
View File

@ -0,0 +1 @@
EMUL=armpe

View File

@ -44,6 +44,7 @@ a29k.sh
alpha.sh
armaoutb.sh
armaoutl.sh
armpe.sh
coff_sparc.sh
ebmon29k.sh
elf32_sparc.sh

View File

@ -34,6 +34,7 @@ Things-to-keep:
README
a29k.sc
alpha.sc
armpe.sc
armaout.sc
aout.sc
ebmon29k.sc

95
ld/scripttempl/armpe.sc Normal file
View File

@ -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