X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B%20%24image.RelPermalink%20%7D%7D?a=blobdiff_plain;f=kernel%2Flinker.ld;h=82f6e4af44dc08723874e8fbe5e6983ec161c6a4;hb=39cd7d8aed9f604f2b03570d94cffee45df1451b;hp=645a82421029a638d8ea58a86e8282852af09936;hpb=628db992cdf71f22597a2dcc86bcf456ff7c8db8;p=nameless-os.git diff --git a/kernel/linker.ld b/kernel/linker.ld index 645a824..82f6e4a 100644 --- a/kernel/linker.ld +++ b/kernel/linker.ld @@ -6,11 +6,17 @@ SECTIONS . = 0x100000; __KERNEL_BASE__ = .; - .text : ALIGN(4K) { + .text : ALIGN(4K) { + __TEXT_BASE__ = .; kernel/entry.o (.text) - *(.text) + *(.text) + __TEXT_END__ = .; + } + .rodata : ALIGN(4K) { + __RODATA_BASE__ = .; + *(.rodata) + __RODATA_END__ = .; } - .rodata : ALIGN(4K) { *(.rodata) } /* .rodata is put after .text so that the read-only entry in the program * header covers .rodata as well. When .rodata is after .data, that entry @@ -21,12 +27,18 @@ SECTIONS * matter yet because we (currently) assume that the NX bit is not * supported anyway. */ - .data : ALIGN(4K) { *(.data) } - .bss : ALIGN(4K) { + .data : ALIGN(4K) { + __DATA_BASE__ = .; + *(.data) + __DATA_END__ = .; + } + .bss : ALIGN(4K) { + __BSS_BASE__ = .; *(.bss) /* Reserving 16KiB for the stack. A __STACK_TOP__ is not really * needed (yet). */ - . += 16K; + . += 16K; __STACK_BOTTOM__ = .; + __BSS_END__ = .; } }