/* text: in the 32-bit address range. data: far away from text. */ ENTRY(_start) MEMORY { rom (rx) : ORIGIN = 0x10000, LENGTH = 0x1000 ram (!rx) : ORIGIN = 0x800000000, LENGTH = 0x1000 } SECTIONS { .text : { *(.text*) } >rom .data : { *(.data*) } >ram __global_pointer$ = .; .got : { *(.got*) } > ram }