diff options
Diffstat (limited to '')
-rw-r--r-- | kernel/linker.ld | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/kernel/linker.ld b/kernel/linker.ld index beb44df..541975e 100644 --- a/kernel/linker.ld +++ b/kernel/linker.ld @@ -1,31 +1,40 @@ ENTRY(start) SECTIONS { - . = 1M; + + . = 0x00100000; kernel_start = .; + + .multiboot.data : { + *(.multiboot.data) + } + + .multiboot.text : { + *(.multiboot.text) + } + + . += 0xC0000000; - .boot BLOCK(4K) : ALIGN(4K) - { - *(.multiboot) - } - - .text BLOCK(4K) : ALIGN(4K) + .text ALIGN (4K) : AT (ADDR (.text) - 0xC0000000) { *(.text) } - - .rodata BLOCK(4K) : ALIGN(4K) + .rodata ALIGN (4K) : AT (ADDR (.rodata) - 0xC0000000) { *(.rodata) } - - - .bss BLOCK(4K) : ALIGN(4K) + .data ALIGN (4K) : AT (ADDR (.data) - 0xC0000000) { + *(.data) + } + .bss ALIGN (4K) : AT (ADDR (.bss) - 0xC0000000) + { + *(COMMON) *(.bss) + *(.bootstrap_stack) } - + kernel_end = .; } |