aboutsummaryrefslogtreecommitdiff
path: root/linker.ld
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-04-21 19:04:29 +0200
committerHimbeer <himbeer@disroot.org>2024-04-21 19:04:29 +0200
commit3c5adbfb26fe081d77f84d1077463f6cd549a8d7 (patch)
tree5d5613a4c4c434f85500da42648d4b3fa0a7c9c9 /linker.ld
parent0413258474305c9afa3327c01a56e21105d0a6bb (diff)
prepare linker script for paging activation
Diffstat (limited to 'linker.ld')
-rw-r--r--linker.ld26
1 files changed, 23 insertions, 3 deletions
diff --git a/linker.ld b/linker.ld
index e644daf..084cae1 100644
--- a/linker.ld
+++ b/linker.ld
@@ -20,14 +20,33 @@ PHDRS {
SECTIONS {
. = 0x80200000;
+
.text (0x80200000) : {
+ PROVIDE(_text_start = .);
+
*(.text.start)
*(.text .text.*)
+
+ PROVIDE(_text_end = .);
} > ram AT > ram : lo_rx
- .rodata : { *(.rodata .rodata.*) } > ram AT > ram : lo_r
- .data : { *(.data .data.* ) } > ram AT > ram : lo_rw
+ .rodata : {
+ PROVIDE(_rodata_start = .);
+
+ *(.rodata .rodata.*)
+
+ PROVIDE(_rodata_end = .);
+ } > ram AT > ram : lo_r
+ .data : {
+ PROVIDE(_data_start = .);
+
+ *(.data .data.* )
+
+ PROVIDE(_data_end = .);
+ } > ram AT > ram : lo_rw
.bss : {
+ PROVIDE(_bss_start = .);
+
*(.bss .bss.*)
PROVIDE(_bss_end = .);
@@ -38,9 +57,10 @@ SECTIONS {
PROVIDE(_memory_start = ORIGIN(ram));
PROVIDE(_memory_end = ORIGIN(ram) + LENGTH(ram));
+ /* Currently unused */
PROVIDE(_stack_start = _bss_end);
PROVIDE(_stack_end = _stack_start + 0x80000);
PROVIDE(_heap_start = _stack_end);
- PROVIDE(_heap_size = _memory_end - _heap_start);
+ PROVIDE(_heap_end = _memory_end);
}