|
|
|
@ -7,11 +7,11 @@ OUTPUT_ARCH(i386)
|
|
|
|
|
ENTRY(_start)
|
|
|
|
|
|
|
|
|
|
SECTIONS {
|
|
|
|
|
. = KERNEL_ORIGIN;
|
|
|
|
|
. = CFG_KERN_ORIGIN;
|
|
|
|
|
|
|
|
|
|
_image_start = . + KERNEL_RELOCATE;
|
|
|
|
|
_image_start = . + CFG_KERN_OFFSET;
|
|
|
|
|
_image_start_phys = .;
|
|
|
|
|
_kernel_start = . + KERNEL_RELOCATE;
|
|
|
|
|
_kernel_start = . + CFG_KERN_OFFSET;
|
|
|
|
|
_kernel_start_phys = .;
|
|
|
|
|
|
|
|
|
|
.multiboot.data : {
|
|
|
|
@ -24,35 +24,35 @@ SECTIONS {
|
|
|
|
|
KEEP(*(.multiboot.text))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
. += KERNEL_RELOCATE;
|
|
|
|
|
. += CFG_KERN_OFFSET;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* All sections from here on are page aligned so we can
|
|
|
|
|
* set different access permissions for each of them
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
.text ALIGN(4K) : AT(ADDR(.text) - KERNEL_RELOCATE) {
|
|
|
|
|
.text ALIGN(4K) : AT(ADDR(.text) - CFG_KERN_OFFSET) {
|
|
|
|
|
_text_start = .;
|
|
|
|
|
*(.text .text.* .gnu.linkonce.t.*)
|
|
|
|
|
_text_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.rodata ALIGN(4K) : AT(ADDR(.rodata) - KERNEL_RELOCATE) {
|
|
|
|
|
.rodata ALIGN(4K) : AT(ADDR(.rodata) - CFG_KERN_OFFSET) {
|
|
|
|
|
_rodata_start = .;
|
|
|
|
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
|
|
|
|
_rodata_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data ALIGN(4K) : AT(ADDR(.data) - KERNEL_RELOCATE) {
|
|
|
|
|
.data ALIGN(4K) : AT(ADDR(.data) - CFG_KERN_OFFSET) {
|
|
|
|
|
_data_start = .;
|
|
|
|
|
*(.data .data.*)
|
|
|
|
|
_data_end = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_kernel_end = .;
|
|
|
|
|
_kernel_end_phys = . - KERNEL_RELOCATE;
|
|
|
|
|
_kernel_end_phys = . - CFG_KERN_OFFSET;
|
|
|
|
|
|
|
|
|
|
.bss ALIGN(4K) : AT(ADDR(.bss) - KERNEL_RELOCATE) {
|
|
|
|
|
.bss ALIGN(4K) : AT(ADDR(.bss) - CFG_KERN_OFFSET) {
|
|
|
|
|
_bss_start = .;
|
|
|
|
|
*(COMMON)
|
|
|
|
|
*(.bss)
|
|
|
|
@ -63,7 +63,7 @@ SECTIONS {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_image_end = .;
|
|
|
|
|
_image_end_phys = . - KERNEL_RELOCATE;
|
|
|
|
|
_image_end_phys = . - CFG_KERN_OFFSET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|