* scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
authorJeff Law <law@redhat.com>
Fri, 29 Mar 1996 07:01:22 +0000 (07:01 +0000)
committerJeff Law <law@redhat.com>
Fri, 29 Mar 1996 07:01:22 +0000 (07:01 +0000)
        so as not to overwrite the magic syscall entry at 0xc4.
        * scripttempl/h8300h.sc: Likewise.
hmse.

ld/ChangeLog
ld/scripttempl/h8300.sc [new file with mode: 0644]
ld/scripttempl/h8300h.sc [new file with mode: 0644]

index f2f168d..aa43b8d 100644 (file)
@@ -1,3 +1,9 @@
+Fri Mar 29 00:01:29 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
+       so as not to overwrite the magic syscall entry at 0xc4.
+       * scripttempl/h8300h.sc: Likewise.
+
 Thu Mar 28 11:05:47 1996  Doug Evans  <dje@canuck.cygnus.com>
 
        * configure.tgt (sparc64-*-solaris2*): Delete.
diff --git a/ld/scripttempl/h8300.sc b/ld/scripttempl/h8300.sc
new file mode 100644 (file)
index 0000000..ce10436
--- /dev/null
@@ -0,0 +1,61 @@
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+MEMORY
+{
+       /* 0xc4 is a magic entry.  We should have the linker just
+          skip over it one day... */
+       vectors : o = 0x0000, l = 196
+       magicvectors : o = 0xc4, l = 60
+       ram    : o = 0x0100, l = 65536 - 256 - 4
+       topram : o = 0xfffc, l = 4
+}
+
+SECTIONS                               
+{                                      
+.vectors : {
+/* Use something like this to place a specific function's address
+   into the vector table. 
+
+       SHORT(ABSOLUTE(_foobar))
+*/
+
+       *(.vectors)
+        } ${RELOCATING+ > vectors}
+
+.text :        {                                       
+       *(.text)                                
+       *(.strings)
+       ${RELOCATING+ _etext = . ; }
+       } ${RELOCATING+ > ram}
+.tors : {
+       ___ctors = . ;
+       *(.ctors)
+       ___ctors_end = . ;
+       ___dtors = . ;
+       *(.dtors)
+       ___dtors_end = . ;
+       } ${RELOCATING+ > ram}
+.data : {
+       *(.data)
+       ${RELOCATING+ _edata = . ; }
+       } ${RELOCATING+ > ram}
+.bss : {
+       ${RELOCATING+ _bss_start = . ;}
+       *(.bss)
+       *(COMMON)
+       ${RELOCATING+ _end = . ;  }
+       } ${RELOCATING+ >ram}
+.stack : {
+       ${RELOCATING+ _stack = . ; }
+       *(.stack)
+       } ${RELOCATING+ > topram}
+.stab 0 ${RELOCATING+(NOLOAD)} : {
+       [ .stab ]
+       }
+.stabstr 0 ${RELOCATING+(NOLOAD)} : {
+       [ .stabstr ]
+       }
+}
+EOF
diff --git a/ld/scripttempl/h8300h.sc b/ld/scripttempl/h8300h.sc
new file mode 100644 (file)
index 0000000..4e2276a
--- /dev/null
@@ -0,0 +1,63 @@
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(h8300h)
+
+/* The memory size is 256KB to coincide with the simulator.
+   Don't change either without considering the other.  */
+
+MEMORY
+{
+        /* 0xc4 is a magic entry.  We should have the linker just
+           skip over it one day... */
+        vectors : o = 0x0000, l = 196
+        magicvectors : o = 0xc4, l = 60
+       ram    : o = 0x0100, l = 256K - 256 - 4
+       topram : o = 0x3fffc, l = 4
+}
+
+SECTIONS                               
+{                                      
+.vectors : {
+/* Use something like this to place a specific function's address
+   into the vector table.
+
+       LONG(ABSOLUTE(_foobar))
+
+*/
+       *(.vectors)
+       } ${RELOCATING+ > vectors}
+.text :        {                                       
+       *(.text)                                
+       *(.strings)
+       ${RELOCATING+ _etext = . ; }
+       } ${RELOCATING+ > ram}
+.tors : {
+       ___ctors = . ;
+       *(.ctors)
+       ___ctors_end = . ;
+       ___dtors = . ;
+       *(.dtors)
+       ___dtors_end = . ;
+       } ${RELOCATING+ > ram}
+.data : {
+       *(.data)
+       ${RELOCATING+ _edata = . ; }
+       } ${RELOCATING+ > ram}
+.bss : {
+       ${RELOCATING+ _bss_start = . ;}
+       *(.bss)
+       *(COMMON)
+       ${RELOCATING+ _end = . ;  }
+       } ${RELOCATING+ >ram}
+.stack : {
+       ${RELOCATING+ _stack = . ; }
+       *(.stack)
+       } ${RELOCATING+ > topram}
+.stab 0 ${RELOCATING+(NOLOAD)} : {
+       [ .stab ]
+       }
+.stabstr 0 ${RELOCATING+(NOLOAD)} : {
+       [ .stabstr ]
+       }
+}
+EOF