Home | History | Annotate | Line # | Download | only in scripttempl
ft32.sc revision 1.1.1.1.2.2
      1 TORS=".tors :
      2   {
      3     ___ctors = . ;
      4     *(.ctors)
      5     ___ctors_end = . ;
      6     ___dtors = . ;
      7     *(.dtors)
      8     ___dtors_end = . ;
      9     . = ALIGN(4);
     10   } > ram"
     11 
     12 cat <<EOF
     13 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
     14 OUTPUT_ARCH(${ARCH})
     15 ${LIB_SEARCH_DIRS}
     16 
     17 PROVIDE( __PMSIZE = 256K );
     18 PROVIDE( __RAMSIZE = 64K );
     19 
     20 MEMORY
     21 {
     22   flash     (rx)   : ORIGIN = 0, LENGTH = __PMSIZE
     23   ram       (rw!x) : ORIGIN = 0x800000, LENGTH = __RAMSIZE
     24 }
     25 SECTIONS
     26 {
     27   .text :
     28   {
     29     *(.text*)
     30     *(.strings)
     31     *(._pm*)
     32     *(.init)
     33     *(.fini)
     34     ${RELOCATING+ _etext = . ; }
     35     . = ALIGN(4);
     36   } ${RELOCATING+ > flash}
     37   ${CONSTRUCTING+${TORS}}
     38   .data	  : AT (ADDR (.text) + SIZEOF (.text))
     39   {
     40     *(.data)
     41     *(.rodata)
     42     *(.rodata*)
     43     ${RELOCATING+ _edata = . ; }
     44   } ${RELOCATING+ > ram}
     45   .bss  SIZEOF(.data) + ADDR(.data) :
     46   {
     47     ${RELOCATING+ _bss_start = . ; }
     48     *(.bss)
     49     *(COMMON)
     50     ${RELOCATING+ _end = . ;  }
     51   } ${RELOCATING+ > ram}
     52 
     53   ${RELOCATING+ __data_load_start = LOADADDR(.data); }
     54   ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); }
     55 
     56   .stab 0 ${RELOCATING+(NOLOAD)} :
     57   {
     58     *(.stab)
     59   }
     60   .stabstr 0 ${RELOCATING+(NOLOAD)} :
     61   {
     62     *(.stabstr)
     63   }
     64 }
     65 EOF
     66