|
|
|
@ -15,33 +15,35 @@ SECTIONS {
|
|
|
|
|
_image_start = .;
|
|
|
|
|
_kernel_start = .;
|
|
|
|
|
|
|
|
|
|
.text : {
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
|
.text BLOCK(4K) : ALIGN(4K) {
|
|
|
|
|
_text_start = .;
|
|
|
|
|
/*
|
|
|
|
|
* This is where the multiboot header is stored which grub2
|
|
|
|
|
* or any other compliant bootloader picks up, don't move away
|
|
|
|
|
*/
|
|
|
|
|
KEEP(*(.multiboot))
|
|
|
|
|
KEEP(*(.text .text.*))
|
|
|
|
|
*(.text .text.* .gnu.linkonce.t.*)
|
|
|
|
|
_text_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.rodata : {
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
|
.rodata BLOCK(4K) : ALIGN(4K) {
|
|
|
|
|
_rodata_start = .;
|
|
|
|
|
*(.rodata .rodata.*)
|
|
|
|
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
|
|
|
|
_rodata_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data BLOCK(4K) : ALIGN(4K) {
|
|
|
|
|
_data_start = .;
|
|
|
|
|
*(.data .data.*)
|
|
|
|
|
_data_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_kernel_end = .;
|
|
|
|
|
|
|
|
|
|
.bss(NOLOAD) : {
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
|
.bss BLOCK(4K) : ALIGN(4K) {
|
|
|
|
|
_bss_start = . ;
|
|
|
|
|
*(.bss .bss.*)
|
|
|
|
|
*(COMMON)
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
|
*(.bss .bss.*)
|
|
|
|
|
_bss_end = . ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|