diff options
-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); } |