1cat <<EOF 2OUTPUT_FORMAT("${OUTPUT_FORMAT}") 3OUTPUT_ARCH("${OUTPUT_ARCH}") 4ENTRY(_start) 5 6SECTIONS 7{ 8.text ${BIG+ ${RELOCATING+ 0x0000000}} : 9 { 10 *(.text) 11 *(.strings) 12 *(.rdata) 13 } 14 15.ctors ${BIG+ ${RELOCATING+ 0x2000000}} : 16 { 17 ${CONSTRUCTING+ ___ctors = . ; } 18 *(.ctors); 19 ${CONSTRUCTING+ ___ctors_end = . ; } 20 ___dtors = . ; 21 *(.dtors); 22 ${CONSTRUCTING+ ___dtors_end = . ; } 23 } 24 25.data ${BIG+ ${RELOCATING+ 0x3000000}} : 26 { 27 *(.data) 28 } 29 30.bss ${BIG+ ${RELOCATING+ 0x4000000}} : 31 { 32 ${RELOCATING+ __start_bss = . ; } 33 *(.bss); 34 *(COMMON); 35 ${RELOCATING+ __end_bss = . ; } 36 } 37 38.heap ${BIG+ ${RELOCATING+ 0x5000000}} : 39 { 40 ${RELOCATING+ __start_heap = . ; } 41 ${RELOCATING+ . = . + 20k ; } 42 ${RELOCATING+ __end_heap = . ; } 43 } 44 45.stack ${RELOCATING+ 0xf000 } : 46 { 47 ${RELOCATING+ _stack = . ; } 48 *(.stack) 49 ${RELOCATING+ __stack_top = . ; } 50 } 51 52} 53EOF 54 55 56 57 58