ENTRY(kstart) SECTIONS { . = 0x4000; /* XXX 0x4000 is temporary */ .text : AT(ADDR(.text) - 0x4000) { _code = .; *(.text) *(.rodata*) . = ALIGN(4096); } .data : AT(ADDR(.data) - 0x4000) { _data = .; *(.data) . = ALIGN(4096); } .eh_frame : AT(ADDR(.eh_frame) - 0x4000) { _ehframe = .; *(.eh_frame) . = ALIGN(4096); } .bss : AT(ADDR(.bss) - 0x4000) { _bss = .; *(.bss) /* * You usually need to include generated COMMON symbols * under kernel BSS section or use gcc's -fno-common */ *(COMMON) . = ALIGN(4096); } _end = .; /DISCARD/ : { *(.comment) } }