MEMORY { flatmem : ORIGIN = 0x0, LENGTH = 0x100000 } SECTIONS { .text 0 : { . = ALIGN(0x4) ; _stext = . ; _start = . ; *(.text) *(.text.*) *(.gnu.warning) *(.stub) *(.gnu.linkonce.t*) *(.init) . = ALIGN(0x10) ; _etext = . ; } > flatmem .data : { . = ALIGN(0x4) ; _sdata = . ; __data_start = . ; data_start = . ; *(.rela.got) *(.rel.got) *(.got.plt) *(.got) LONG(-1) *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.rodata1) *(.data) *(.data.*) *(.gnu.linkonce.d*) *(.data1) *(.eh_frame) *(.gcc_except_table) *(.sdata) *(.sdata.*) *(.gnu.linkonce.s.*) . = ALIGN(4) ; *(.ctors.*) *(.ctors) LONG(0) *(.dtors.*) *(.dtors) LONG(0) . = ALIGN(0x10) ; _edata = . ; } > flatmem .bss : { . = ALIGN(0x4) ; _sbss = ALIGN(0x4) ; __bss_start = . ; *(.dynsbss) *(.sbss) *(.sbss.*) *(.scommon) *(.dynbss) *(.bss) *(.bss.*) *(COMMON) . = ALIGN(0x4) ; _ebss = . ; _end = . ; end = . ; } > flatmem }