This commit was manufactured by cvs2svn to create branch 'binutils-
[external/binutils.git] / ld / scripttempl / h8300.sc
index f2f876e..f142f4b 100644 (file)
@@ -1,69 +1,94 @@
+TORS=".tors :
+       {
+         ___ctors = . ;
+         *(.ctors)
+         ___ctors_end = . ;
+         ___dtors = . ;
+         *(.dtors)
+         ___dtors_end = . ;
+       } > ram"
+
 cat <<EOF
 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
 OUTPUT_ARCH(${ARCH})
-ENTRY("_start")
+${RELOCATING+ENTRY ("_start")}
 
 MEMORY
 {
        /* 0xc4 is a magic entry.  We should have the linker just
-          skip over it one day... */
+          skip over it one day...  */
        vectors : o = 0x0000, l = 0xc4
        magicvectors : o = 0xc4, l = 0x3c
        ram    : o = 0x0100, l = 0xfdfc
        /* The stack starts at the top of main ram.  */
        topram : o = 0xfefc, l = 0x4
-       /* At the very to of the address space is the 8-bit area.  */
+       /* At the very top of the address space is the 8-bit area.  */
        eight : o = 0xff00, l = 0x100
 }
 
-SECTIONS                               
-{                                      
-.vectors : {
-       /* Use something like this to place a specific function's address
-          into the vector table. 
+SECTIONS
+{
+.vectors :
+       {
+         /* Use something like this to place a specific
+            function's address into the vector table.
 
-       SHORT(ABSOLUTE(_foobar)) */
+            SHORT (ABSOLUTE (_foobar)).  */
 
-       *(.vectors)
-        } ${RELOCATING+ > vectors}
+         *(.vectors)
+       } ${RELOCATING+ > vectors}
 
-.text :        {                                       
-       *(.rodata)                              
-       *(.text)                                
-       *(.strings)
-       ${RELOCATING+ _etext = . ; }
+.init :
+       { 
+         *(.init)
        } ${RELOCATING+ > ram}
-.tors : {
-       ___ctors = . ;
-       *(.ctors)
-       ___ctors_end = . ;
-       ___dtors = . ;
-       *(.dtors)
-       ___dtors_end = . ;
+
+.text :
+       {
+         *(.rodata)
+         *(.text)
+         *(.text.*)
+         *(.strings)
+         ${RELOCATING+ _etext = . ; }
        } ${RELOCATING+ > ram}
-.data : {
-       *(.data)
-       *(.tiny)
-       ${RELOCATING+ _edata = . ; }
+
+${CONSTRUCTING+${TORS}}
+
+.data :
+       {
+         *(.data)
+         *(.data.*)
+         *(.tiny)
+         ${RELOCATING+ _edata = . ; }
        } ${RELOCATING+ > ram}
-.bss : {
-       ${RELOCATING+ _bss_start = . ;}
-       *(.bss)
-       *(COMMON)
-       ${RELOCATING+ _end = . ;  }
+
+.bss :
+       {
+         ${RELOCATING+ _bss_start = . ;}
+         *(.bss)
+         *(COMMON)
+         ${RELOCATING+ _end = . ;  }
        } ${RELOCATING+ >ram}
-.stack : {
-       ${RELOCATING+ _stack = . ; }
-       *(.stack)
+
+.stack :
+       {
+         ${RELOCATING+ _stack = . ; }
+         *(.stack)
        } ${RELOCATING+ > topram}
-.eight : {
-       *(.eight)
+
+.eight :
+       {
+         *(.eight)
        } ${RELOCATING+ > eight}
-.stab 0 ${RELOCATING+(NOLOAD)} : {
-       [ .stab ]
+
+.stab 0 ${RELOCATING+(NOLOAD)} :
+       {
+         [ .stab ]
        }
-.stabstr 0 ${RELOCATING+(NOLOAD)} : {
-       [ .stabstr ]
+
+.stabstr 0 ${RELOCATING+(NOLOAD)} :
+       {
+         [ .stabstr ]
        }
 }
 EOF