diff options
Diffstat (limited to 'linker.ld')
-rw-r--r-- | linker.ld | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -14,12 +14,11 @@ SECTIONS *(.multiboot.header) } - /* Begin putting sections at 1 MiB */ - /* TODO load sections at VADDR_BASE rather than at VADDR_BASE + 1M */ - . = VADDR_BASE + 1M; + /* Begin putting sections at 4 MiB */ + . = VADDR_BASE; _kernel_start = .; - .text ALIGN(4K) : AT(ADDR(.text) - VADDR_BASE) { + .text ALIGN(4K) : AT(ADDR(.text) - VADDR_BASE + 4M) { begin_text = .; *(.multiboot.text) *(.text*) @@ -27,14 +26,14 @@ SECTIONS } /* Read-only data. */ - .rodata ALIGN(4K) : AT(ADDR(.rodata) - VADDR_BASE) { + .rodata ALIGN(4K) : AT(ADDR(.rodata) - VADDR_BASE + 4M) { begin_rodata = .; *(.rodata*) end_rodata = .; } /* Read-write data (initialized) */ - .data ALIGN(4K) : AT(ADDR(.data) - VADDR_BASE) { + .data ALIGN(4K) : AT(ADDR(.data) - VADDR_BASE + 4M) { begin_constinit = .; *(.constinit) end_constinit = .; @@ -49,7 +48,7 @@ SECTIONS } /* Read-write data (uninitialized) and stack */ - .bss ALIGN(4K) : AT(ADDR(.bss) - VADDR_BASE) { + .bss ALIGN(4K) : AT(ADDR(.bss) - VADDR_BASE + 4M) { begin_bss = .; *(.pages) *(.bss) |