summaryrefslogtreecommitdiff
path: root/link.ld
diff options
context:
space:
mode:
Diffstat (limited to 'link.ld')
-rw-r--r--link.ld24
1 files changed, 20 insertions, 4 deletions
diff --git a/link.ld b/link.ld
index 0e43104..49cdbe0 100644
--- a/link.ld
+++ b/link.ld
@@ -14,17 +14,33 @@ SECTIONS {
} > RAM
.data : ALIGN(8) {
- _data = .;
+ _data_start = .;
*(.data*)
- _edata = .;
+ _data_end = .;
} > RAM
.bss : ALIGN(8) {
- _bss = .;
+ _bss_start = .;
*(.bss*)
*(COMMON)
- _ebss = .;
+ _bss_end = .;
} > RAM
+ .sdata : ALIGN(8) {
+ _sdata_start = .;
+ *(.sdata*)
+ _sdata_end = .;
+ } > RAM
+
+ .sbss : ALIGN(8) {
+ _sbss_start = .;
+ *(.sbss*)
+ _sbss_end = .;
+ } > RAM
+
+ __global_pointer$ = _sdata_start + ((_sdata_end - _sdata_start + _sbss_end - _sbss_start) / 2);
+
+ _heap_start = ALIGN(8);
+
_stack_top = ORIGIN(RAM) + LENGTH(RAM);
}