aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog10
-rw-r--r--ld/Makefile.am4
-rw-r--r--ld/Makefile.in4
-rw-r--r--ld/configure.tgt1
-rw-r--r--ld/emulparams/coff_i860.sh5
-rw-r--r--ld/scripttempl/i860coff.sc42
6 files changed, 66 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 68e92d6..d87dfbe 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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: "
diff --git a/ld/Makefile.am b/ld/Makefile.am
index f75a115..c00db10 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -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)"
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 6057ea0..3b0c0d5 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -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)"
diff --git a/ld/configure.tgt b/ld/configure.tgt
index bed886a..c6756d0 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -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
index 0000000..03b6493
--- /dev/null
+++ b/ld/emulparams/coff_i860.sh
@@ -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
index 0000000..f268c6f
--- /dev/null
+++ b/ld/scripttempl/i860coff.sc
@@ -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