* arm/crt0.s: Support 0 heap base response from HeapInfo syscall.
This commit is contained in:
parent
29deef8805
commit
5b495afe51
|
@ -1,3 +1,7 @@
|
|||
2011-09-29 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* arm/crt0.s: Support 0 heap base response from HeapInfo syscall.
|
||||
|
||||
2011-09-29 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* arm/arm.h (HAVE_CALL_INDIRECT): Define.
|
||||
|
|
|
@ -86,6 +86,17 @@
|
|||
AngelSWIAsm AngelSWI_ARM
|
||||
#endif
|
||||
ldr r0, .LC0 /* point at values read */
|
||||
|
||||
ldr r1, [r0, #0]
|
||||
cmp r1, #0
|
||||
bne .LC32
|
||||
/* If the heap base value [r0, #0] is 0 then the heap base is actually
|
||||
at the end of program data (i.e. __end__). See:
|
||||
http://infocenter.arm.com/help/topic/com.arm.doc.dui0471-/Bacbefaa.html
|
||||
for more information. */
|
||||
ldr r1, .LC31
|
||||
str r1, [r0, #0]
|
||||
.LC32:
|
||||
ldr r1, [r0, #8]
|
||||
ldr r2, [r0, #12]
|
||||
/* We skip setting sp/sl if 0 returned from semihosting.
|
||||
|
@ -437,6 +448,8 @@ change_back:
|
|||
.LC30:
|
||||
.word CommandLine
|
||||
.word 255
|
||||
.LC31:
|
||||
.word __end__
|
||||
|
||||
/* Workspace for Angel calls. */
|
||||
.data
|
||||
|
|
Loading…
Reference in New Issue