aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1995-05-24 18:26:23 +0000
committerSteve Chamberlain <sac@cygnus>1995-05-24 18:26:23 +0000
commit28d0c3ce1963ba684d0492524c1cba6454e1d401 (patch)
treec620928c28bc5d37aea94289fa49a3090fe645a5 /ld
parenta3444c49265832545462e75c90e0477515987dc8 (diff)
downloadgdb-28d0c3ce1963ba684d0492524c1cba6454e1d401.zip
gdb-28d0c3ce1963ba684d0492524c1cba6454e1d401.tar.gz
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.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog49
-rw-r--r--ld/Makefile.in23
-rw-r--r--ld/config/.Sanitize1
-rw-r--r--ld/config/arm-pe.mt1
-rw-r--r--ld/emulparams/.Sanitize1
-rw-r--r--ld/scripttempl/.Sanitize1
-rw-r--r--ld/scripttempl/armpe.sc95
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