diff options
-rw-r--r-- | ld/ChangeLog | 13 | ||||
-rw-r--r-- | ld/Makefile.am | 8 | ||||
-rw-r--r-- | ld/Makefile.in | 8 | ||||
-rw-r--r-- | ld/configure.tgt | 2 | ||||
-rw-r--r-- | ld/emulparams/.Sanitize | 2 | ||||
-rw-r--r-- | ld/emulparams/tic30aout.sh | 7 | ||||
-rw-r--r-- | ld/emulparams/tic30coff.sh | 7 | ||||
-rw-r--r-- | ld/scripttempl/.Sanitize | 2 | ||||
-rw-r--r-- | ld/scripttempl/tic30aout.sc | 34 | ||||
-rw-r--r-- | ld/scripttempl/tic30coff.sc | 58 |
10 files changed, 141 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4e538f2..efdecd9 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,16 @@ +Mon Feb 2 19:34:54 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> + + Add tms320c30 support: + * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets. + * emulparams/tic30aout.sh: New file. + * emulparams/tic30coff.sh: New file. + * scripttempl/tic30aout.sc: New file. + * scripttempl/tic30coff.sc: New file. + * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and + etic30coff.o. + (etic30aout.c, etic30coff.c): New targets. + * Makefile.in: Rebuild. + Mon Feb 2 14:10:59 1998 Ian Lance Taylor <ian@cygnus.com> * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to diff --git a/ld/Makefile.am b/ld/Makefile.am index 034b66d..39bfe15 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -180,6 +180,8 @@ ALL_EMULATIONS = \ est2000.o \ esun3.o \ esun4.o \ + etic30aout.o \ + etic30coff.o \ $(start-sanitize-tic80) \ etic80coff.o \ $(end-sanitize-tic80) \ @@ -522,6 +524,12 @@ esun3.c: $(srcdir)/emulparams/sun3.sh \ esun4.c: $(srcdir)/emulparams/sun4.sh \ $(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} sun4 "$(tdir_sun4)" +etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} tic30aout "$(tdir_tic30aout)" +etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS} + ${GENSCRIPTS} tic30coff "$(tdir_tic30coff)" start-sanitize-tic80: etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS} diff --git a/ld/Makefile.in b/ld/Makefile.in index 2c6b66b..7d96ee4 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -249,6 +249,8 @@ ALL_EMULATIONS = \ est2000.o \ esun3.o \ esun4.o \ + etic30aout.o \ + etic30coff.o \ $(start-sanitize-tic80) \ etic80coff.o \ $(end-sanitize-tic80) \ @@ -1008,6 +1010,12 @@ esun3.c: $(srcdir)/emulparams/sun3.sh \ esun4.c: $(srcdir)/emulparams/sun4.sh \ $(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} sun4 "$(tdir_sun4)" +etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} tic30aout "$(tdir_tic30aout)" +etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS} + ${GENSCRIPTS} tic30coff "$(tdir_tic30coff)" start-sanitize-tic80: etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS} diff --git a/ld/configure.tgt b/ld/configure.tgt index 4f690cb..8677933 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -201,6 +201,8 @@ powerpcle-*-cygwin32) targ_emul=ppcpe ;; powerpc-*-aix*) targ_emul=aixppc ;; powerpc-*-beos*) targ_emul=aixppc ;; rs6000-*-aix*) targ_emul=aixrs6 ;; +tic30-*-*aout*) targ_emul=tic30aout ;; +tic30-*-*coff*) targ_emul=tic30coff ;; # start-sanitize-tic80 tic80-*-*) targ_emul=tic80coff ;; # end-sanitize-tic80 diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 2125b49..13308d8 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -132,6 +132,8 @@ sparcnbsd.sh st2000.sh sun3.sh sun4.sh +tic30aout.sh +tic30coff.sh v850.sh vanilla.sh vax.sh diff --git a/ld/emulparams/tic30aout.sh b/ld/emulparams/tic30aout.sh new file mode 100644 index 0000000..2a4c13f --- /dev/null +++ b/ld/emulparams/tic30aout.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=tic30aout +OUTPUT_FORMAT="a.out-tic30" +OUTPUT_ARCH="tms320c30" +TEXT_START_ADDR=0x0 +TARGET_PAGE_SIZE=128 +ARCH=tms320c30 +BIG=1 diff --git a/ld/emulparams/tic30coff.sh b/ld/emulparams/tic30coff.sh new file mode 100644 index 0000000..df77943 --- /dev/null +++ b/ld/emulparams/tic30coff.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=tic30coff +OUTPUT_FORMAT="coff-tic30" +OUTPUT_ARCH="tms320c30" +TEXT_START_ADDR=0x0 +TARGET_PAGE_SIZE=128 +ARCH=tms320c30 +BIG=1 diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index 6dab9e8..098fff6 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -82,6 +82,8 @@ sh.sc sparccoff.sc sparclynx.sc st2000.sc +tic30aout.sc +tic30coff.sc v850.sc vanilla.sc w65.sc diff --git a/ld/scripttempl/tic30aout.sc b/ld/scripttempl/tic30aout.sc new file mode 100644 index 0000000..28baed3 --- /dev/null +++ b/ld/scripttempl/tic30aout.sc @@ -0,0 +1,34 @@ +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +OUTPUT_ARCH(${ARCH}) + +${STACKZERO+${RELOCATING+${STACKZERO}}} +${RELOCATING+PROVIDE (__stack = 0);} +SECTIONS +{ + ${RELOCATING+. = ${TEXT_START_ADDR};} + .text : + { + CREATE_OBJECT_SYMBOLS + *(.text) + ${RELOCATING+_etext = .;} + ${RELOCATING+__etext = .;} + ${PAD_TEXT+${RELOCATING+. = ${DATA_ALIGNMENT};}} + } + ${RELOCATING+. = ${DATA_ALIGNMENT};} + .data : + { + *(.data) + ${RELOCATING+_edata = .;} + ${RELOCATING+__edata = .;} + } + .bss : + { + ${RELOCATING+ __bss_start = .}; + *(.bss) + *(COMMON) + ${RELOCATING+_end = ALIGN(4) }; + ${RELOCATING+__end = ALIGN(4) }; + } +} +EOF diff --git a/ld/scripttempl/tic30coff.sc b/ld/scripttempl/tic30coff.sc new file mode 100644 index 0000000..df2d4f7 --- /dev/null +++ b/ld/scripttempl/tic30coff.sc @@ -0,0 +1,58 @@ +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +OUTPUT_ARCH("${OUTPUT_ARCH}") + +MEMORY +{ + rom : ORIGIN = 0x00000300, LENGTH = 16k + ram : ORIGIN = 0x00000300 + 16k, LENGTH = 16k + ramblk0 : ORIGIN = 0x02026000, LENGTH = 0x1000 + ramblk1 : ORIGIN = 0x02027000, LENGTH = 0x1000 +} + +SECTIONS +{ +.vectors 0x00000000 : +{ + *(vectors) +} + +.text : +{ + *(.text) +} > rom + +.const : +{ + *(.const) + __etext = . ; +} > rom + +.mdata : AT( ADDR(.const) + SIZEOF(.const) ) +{ + __data = . ; + *(.data); + __edata = . ; +} > ram + +.bss : +{ + __bss = . ; + *(.bss); + *(COMMON); + __ebss = . ; +} > ram + +.ram0 : +{ + *(ram0) +} > ramblk0 + +.ram1 : +{ + *(ram1) +} > ramblk1 + +} + +EOF |