aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}