aboutsummaryrefslogtreecommitdiffstats
path: root/support/ld/common_header.inc
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-09-12 16:24:43 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-09-12 17:25:01 -0400
commitf52af4876b0ffc98055fba237fb01852f1bfaaae (patch)
tree7c3571113c9b4b59beb1fefe4993418124cbb6ff /support/ld/common_header.inc
parentc3e769c44e072faebd5dc87582ff832bc13ee184 (diff)
downloadlibrambutan-f52af4876b0ffc98055fba237fb01852f1bfaaae.tar.gz
librambutan-f52af4876b0ffc98055fba237fb01852f1bfaaae.zip
[support/ld] Add linker support for reconfigurable heap.
- common_header.inc: Declare EXTERN symbols _lm_heap_start and _lm_heap_end. - common_rom.inc: Check for _lm_heap_start and _lm_heap_end. If they are defined, preserve their values. Otherwise, _lm_heap_start is starts after .bss, and _lm_heap_end is the end of SRAM. This allows existing linker scripts to continue using the old heap scheme, but allows for customizability elsewhere. - syscalls.c: Respect the addresses of _lm_heap_start and _lm_heap_end as the boundaries of the heap in _sbrk().
Diffstat (limited to 'support/ld/common_header.inc')
-rw-r--r--support/ld/common_header.inc5
1 files changed, 3 insertions, 2 deletions
diff --git a/support/ld/common_header.inc b/support/ld/common_header.inc
index 36ed2b1..1d11ba0 100644
--- a/support/ld/common_header.inc
+++ b/support/ld/common_header.inc
@@ -32,5 +32,6 @@ PROVIDE(__cs3_stack = __cs3_region_start_ram + LENGTH(ram));
EXTERN(_start)
PROVIDE(__cs3_reset = _start);
-/* Beginning of the heap */
-PROVIDE(__cs3_heap_start = _end);
+/* Heap boundaries, for libmaple */
+EXTERN(_lm_heap_start);
+EXTERN(_lm_heap_end);