X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B?a=blobdiff_plain;f=kernel%2Flinker.ld;h=a6fb8e48ed2d2289fde99b19e8bb976ac75d004c;hb=da4e7bf5dd2b9448b638255a20ee503b0641e495;hp=82f6e4af44dc08723874e8fbe5e6983ec161c6a4;hpb=39cd7d8aed9f604f2b03570d94cffee45df1451b;p=nameless-os.git diff --git a/kernel/linker.ld b/kernel/linker.ld index 82f6e4a..a6fb8e4 100644 --- a/kernel/linker.ld +++ b/kernel/linker.ld @@ -1,18 +1,17 @@ ENTRY(_start) -OUTPUT_FORMAT(binary) SECTIONS { - . = 0x100000; + . = 0xc0000000; __KERNEL_BASE__ = .; - .text : ALIGN(4K) { + .text : AT(ADDR(.text) - 0xbff00000) ALIGN(4K) { __TEXT_BASE__ = .; kernel/entry.o (.text) *(.text) __TEXT_END__ = .; } - .rodata : ALIGN(4K) { + .rodata : AT(ADDR(.rodata) - 0xbff00000) ALIGN(4K) { __RODATA_BASE__ = .; *(.rodata) __RODATA_END__ = .; @@ -27,12 +26,12 @@ SECTIONS * matter yet because we (currently) assume that the NX bit is not * supported anyway. */ - .data : ALIGN(4K) { + .data : AT(ADDR(.data) - 0xbff00000) ALIGN(4K) { __DATA_BASE__ = .; *(.data) __DATA_END__ = .; } - .bss : ALIGN(4K) { + .bss : AT(ADDR(.bss) - 0xbff00000) ALIGN(4K) { __BSS_BASE__ = .; *(.bss) /* Reserving 16KiB for the stack. A __STACK_TOP__ is not really