1TORS=".tors : 2 { 3 ___ctors = . ; 4 *(.ctors) 5 ___ctors_end = . ; 6 ___dtors = . ; 7 *(.dtors) 8 ___dtors_end = . ; 9 . = ALIGN(4); 10 } > ram" 11 12cat <<EOF 13OUTPUT_FORMAT("${OUTPUT_FORMAT}") 14OUTPUT_ARCH(${ARCH}) 15${LIB_SEARCH_DIRS} 16 17/* Allow the command line to override the memory region sizes. */ 18__PMSIZE = DEFINED(__PMSIZE) ? __PMSIZE : 256K; 19__RAMSIZE = DEFINED(__RAMSIZE) ? __RAMSIZE : 64K; 20 21MEMORY 22{ 23 flash (rx) : ORIGIN = 0, LENGTH = __PMSIZE 24 ram (rw!x) : ORIGIN = 0x800000, LENGTH = __RAMSIZE 25} 26 27SECTIONS 28{ 29 .text : 30 { 31 *(.text*) 32 *(.strings) 33 *(._pm*) 34 *(.init) 35 *(.fini) 36 ${RELOCATING+ _etext = . ; } 37 . = ALIGN(4); 38 } ${RELOCATING+ > flash} 39 ${CONSTRUCTING+${TORS}} 40 .data : ${RELOCATING+ AT (ADDR (.text) + SIZEOF (.text))} 41 { 42 *(.data) 43 *(.rodata) 44 *(.rodata*) 45 ${RELOCATING+ _edata = . ; } 46 . = ALIGN(4); 47 } ${RELOCATING+ > ram} 48 .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : 49 { 50 ${RELOCATING+ _bss_start = . ; } 51 *(.bss) 52 *(COMMON) 53 ${RELOCATING+ _end = . ; } 54 . = ALIGN(4); 55 } ${RELOCATING+ > ram} 56 57 ${RELOCATING+ __data_load_start = LOADADDR(.data); } 58 ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); } 59 60 .stab 0 ${RELOCATING+(NOLOAD)} : 61 { 62 *(.stab) 63 } 64 .stabstr 0 ${RELOCATING+(NOLOAD)} : 65 { 66 *(.stabstr) 67 } 68EOF 69 70. $srcdir/scripttempl/DWARF.sc 71 72cat <<EOF 73} 74EOF 75