Mon Feb 2 19:34:54 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
authorIan Lance Taylor <ian@airs.com>
Tue, 3 Feb 1998 00:37:20 +0000 (00:37 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 3 Feb 1998 00:37:20 +0000 (00:37 +0000)
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.

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

index 4e538f2..efdecd9 100644 (file)
@@ -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
index 034b66d..39bfe15 100644 (file)
@@ -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}
index 2c6b66b..7d96ee4 100644 (file)
@@ -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}
index 4f690cb..8677933 100644 (file)
@@ -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
index 2125b49..13308d8 100644 (file)
@@ -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 (file)
index 0000000..2a4c13f
--- /dev/null
@@ -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 (file)
index 0000000..df77943
--- /dev/null
@@ -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
index 6dab9e8..098fff6 100644 (file)
@@ -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 (file)
index 0000000..28baed3
--- /dev/null
@@ -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 (file)
index 0000000..df2d4f7
--- /dev/null
@@ -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