Add support for ARM-PE.
authorSteve Chamberlain <sac@cygnus>
Wed, 24 May 1995 18:26:23 +0000 (18:26 +0000)
committerSteve Chamberlain <sac@cygnus>
Wed, 24 May 1995 18:26:23 +0000 (18:26 +0000)
* 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
ld/Makefile.in
ld/config/.Sanitize
ld/config/arm-pe.mt [new file with mode: 0644]
ld/emulparams/.Sanitize
ld/scripttempl/.Sanitize
ld/scripttempl/armpe.sc [new file with mode: 0644]

index 95f722ba91e820efd239d46f900f2c73fbc84a30..85246d259d5ad1c03f47039b2bce5ffc3f0f1037 100644 (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
index 5af86513f70d5506f82b2752e11f384cace8c916..17fbf51864e8354c8028ae85506b3a252faef972 100644 (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 \
index 364b58a1a39e947eebd1292f9f9f973f4852ed1b..c1857d585cb6bd945eb6022a855e3cb039d3e480 100644 (file)
@@ -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 (file)
index 0000000..1b8f58d
--- /dev/null
@@ -0,0 +1 @@
+EMUL=armpe
index 570b70a5b8ad969d43d77927bbfa218a0a4ee9b2..2fb49b97e6bbfdd58e090c59a08f1edd15d91737 100644 (file)
@@ -44,6 +44,7 @@ a29k.sh
 alpha.sh
 armaoutb.sh
 armaoutl.sh
+armpe.sh
 coff_sparc.sh
 ebmon29k.sh
 elf32_sparc.sh
index 0e6008a87dc48f29e929b3bbeb0f9bb2fc6af14f..e060d5f0b5b180c7c98e3fc642464b32d317f9c2 100644 (file)
@@ -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 (file)
index 0000000..6d7d45a
--- /dev/null
@@ -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