mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-28 03:27:46 +08:00
* 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>
|
2011-09-29 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
* arm/arm.h (HAVE_CALL_INDIRECT): Define.
|
* arm/arm.h (HAVE_CALL_INDIRECT): Define.
|
||||||
|
@ -86,6 +86,17 @@
|
|||||||
AngelSWIAsm AngelSWI_ARM
|
AngelSWIAsm AngelSWI_ARM
|
||||||
#endif
|
#endif
|
||||||
ldr r0, .LC0 /* point at values read */
|
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 r1, [r0, #8]
|
||||||
ldr r2, [r0, #12]
|
ldr r2, [r0, #12]
|
||||||
/* We skip setting sp/sl if 0 returned from semihosting.
|
/* We skip setting sp/sl if 0 returned from semihosting.
|
||||||
@ -437,6 +448,8 @@ change_back:
|
|||||||
.LC30:
|
.LC30:
|
||||||
.word CommandLine
|
.word CommandLine
|
||||||
.word 255
|
.word 255
|
||||||
|
.LC31:
|
||||||
|
.word __end__
|
||||||
|
|
||||||
/* Workspace for Angel calls. */
|
/* Workspace for Angel calls. */
|
||||||
.data
|
.data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user