2003-08-04 Christian Groessler <chris@groessler.org>
authorJason Eckhardt <jle@rice.edu>
Wed, 6 Aug 2003 02:19:05 +0000 (02:19 +0000)
committerJason Eckhardt <jle@rice.edu>
Wed, 6 Aug 2003 02:19:05 +0000 (02:19 +0000)
            Jason Eckhardt  <jle@rice.edu>

        * configure.tgt: Recognize new target i860-*-coff.
        * Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
        (ecoff_i860.c): New rule.
        * emulparams/coff_i860.sh: New file.
        * scripttempl/i860coff.sc: New file.
        * Makefile.in: Regenerate.

ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/coff_i860.sh [new file with mode: 0644]
ld/scripttempl/i860coff.sc [new file with mode: 0644]

index 68e92d6..d87dfbe 100644 (file)
@@ -1,3 +1,13 @@
+2003-08-05  Christian Groessler  <chris@groessler.org>
+            Jason Eckhardt  <jle@rice.edu>
+
+        * configure.tgt: Recognize new target i860-*-coff.
+        * Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
+        (ecoff_i860.c): New rule.
+        * emulparams/coff_i860.sh: New file.
+        * scripttempl/i860coff.sc: New file.
+        * Makefile.in: Regenerate.
+
 2003-08-04  Nick Clifton  <nickc@redhat.com>
 
        * emultempl/elf32.em (before_allocation): Prepend "warning: "
index f75a115..c00db10 100644 (file)
@@ -141,6 +141,7 @@ ALL_EMULATIONS = \
        eavr3.o \
        eavr4.o \
        eavr5.o \
+       ecoff_i860.o \
        ecoff_sparc.o \
        ecrisaout.o \
        ecriself.o \
@@ -570,6 +571,9 @@ eavr5.c: $(srcdir)/emulparams/avr5.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
        ${GENSCRIPTS} avr5 "$(tdir_avr85xx)"
+ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
+  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} coff_sparc "$(tdir_coff_sparc)"
index 6057ea0..3b0c0d5 100644 (file)
@@ -255,6 +255,7 @@ ALL_EMULATIONS = \
        eavr3.o \
        eavr4.o \
        eavr5.o \
+       ecoff_i860.o \
        ecoff_sparc.o \
        ecrisaout.o \
        ecriself.o \
@@ -1296,6 +1297,9 @@ eavr5.c: $(srcdir)/emulparams/avr5.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
        ${GENSCRIPTS} avr5 "$(tdir_avr85xx)"
+ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
+  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} coff_sparc "$(tdir_coff_sparc)"
index bed886a..c6756d0 100644 (file)
@@ -98,6 +98,7 @@ sparc*-wrs-vxworks*)  targ_emul=sparcaout ;;
 sparc*-*-rtemsaout*)    targ_emul=sparcaout ;;
 sparc*-*-rtemself*)     targ_emul=elf32_sparc ;;
 sparc*-*-rtems*)        targ_emul=elf32_sparc ;;
+i860-*-coff)           targ_emul=coff_i860 ;;
 i860-stardent-sysv4* | i860-stardent-elf*)
                        targ_emul=elf32_i860 ;;
 i960-wrs-vxworks5.0*)  targ_emul=gld960 ;;
diff --git a/ld/emulparams/coff_i860.sh b/ld/emulparams/coff_i860.sh
new file mode 100644 (file)
index 0000000..03b6493
--- /dev/null
@@ -0,0 +1,5 @@
+SCRIPT_NAME=i860coff
+OUTPUT_FORMAT="coff-i860"
+PAGE_SIZE=0x1000
+MAXPAGESIZE=0x1000
+ARCH=i860
diff --git a/ld/scripttempl/i860coff.sc b/ld/scripttempl/i860coff.sc
new file mode 100644 (file)
index 0000000..f268c6f
--- /dev/null
@@ -0,0 +1,42 @@
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+${LIB_SEARCH_DIRS}
+PROVIDE (__stack = 0); 
+SECTIONS
+{
+  .text ${RELOCATING+ 0x1000000} : {
+    *(.text)
+    ${CONSTRUCTING+ . = ALIGN(4);}
+    ${RELOCATING+ etext  =  .;}
+    ${CONSTRUCTING+ __CTOR_LIST__ = .;}
+    ${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)}
+    ${CONSTRUCTING+ *(.ctors)}
+    ${CONSTRUCTING+ LONG(0)}
+    ${CONSTRUCTING+ __CTOR_END__ = .;}
+    ${CONSTRUCTING+ __DTOR_LIST__ = .;}
+    ${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)}
+    ${CONSTRUCTING+ *(.dtors)}
+    ${CONSTRUCTING+ LONG(0)}
+    ${CONSTRUCTING+ __DTOR_END__ = .;}
+  }
+  .data : {
+    *(.data)
+    ${RELOCATING+ edata  =  .};
+  }
+  .bss : {                                     
+    ${RELOCATING+ __bss_start = .};
+    *(.bss)
+    *(COMMON)
+     ${RELOCATING+ end = ALIGN(0x8)};
+     ${RELOCATING+ _end = ALIGN(0x8)};
+  }
+  .stab  0 ${RELOCATING+(NOLOAD)} : 
+  {
+    [ .stab ]
+  }
+  .stabstr  0 ${RELOCATING+(NOLOAD)} :
+  {
+    [ .stabstr ]
+  }
+}
+EOF