diff options
-rw-r--r-- | ld/ChangeLog | 10 | ||||
-rw-r--r-- | ld/Makefile.am | 4 | ||||
-rw-r--r-- | ld/Makefile.in | 4 | ||||
-rw-r--r-- | ld/configure.tgt | 1 | ||||
-rw-r--r-- | ld/emulparams/coff_i860.sh | 5 | ||||
-rw-r--r-- | ld/scripttempl/i860coff.sc | 42 |
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 |