diff options
author | Himbeer <himbeer@disroot.org> | 2024-04-21 19:04:29 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-04-21 19:04:29 +0200 |
commit | 3c5adbfb26fe081d77f84d1077463f6cd549a8d7 (patch) | |
tree | 5d5613a4c4c434f85500da42648d4b3fa0a7c9c9 /linker.ld | |
parent | 0413258474305c9afa3327c01a56e21105d0a6bb (diff) |
prepare linker script for paging activation
Diffstat (limited to 'linker.ld')
-rw-r--r-- | linker.ld | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -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); } |