Skip to content
Snippets Groups Projects
Commit 5a984f43 authored by Ben Gamari's avatar Ben Gamari Committed by Ian Lynagh
Browse files

ARM StgRun: Ensure r11 state is preserved

parent 46472789
No related branches found
No related tags found
No related merge requests found
...@@ -632,7 +632,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) { ...@@ -632,7 +632,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) {
/* /*
* save callee-saves registers on behalf of the STG code. * save callee-saves registers on behalf of the STG code.
*/ */
"stmfd sp!, {r4-r10, fp, ip, lr}\n\t" "stmfd sp!, {r4-r11, fp, ip, lr}\n\t"
#if !defined(arm_HOST_ARCH_PRE_ARMv6) #if !defined(arm_HOST_ARCH_PRE_ARMv6)
"vstmdb sp!, {d8-d11}\n\t" "vstmdb sp!, {d8-d11}\n\t"
#endif #endif
...@@ -669,10 +669,10 @@ StgRun(StgFunPtr f, StgRegTable *basereg) { ...@@ -669,10 +669,10 @@ StgRun(StgFunPtr f, StgRegTable *basereg) {
#if !defined(arm_HOST_ARCH_PRE_ARMv6) #if !defined(arm_HOST_ARCH_PRE_ARMv6)
"vldmia sp!, {d8-d11}\n\t" "vldmia sp!, {d8-d11}\n\t"
#endif #endif
"ldmfd sp!, {r4-r10, fp, ip, lr}\n\t" "ldmfd sp!, {r4-r11, fp, ip, lr}\n\t"
: "=r" (r) : "=r" (r)
: "r" (f), "r" (basereg), "i" (RESERVED_C_STACK_BYTES) : "r" (f), "r" (basereg), "i" (RESERVED_C_STACK_BYTES)
: "%r4", "%r5", "%r6", "%r8", "%r9", "%r10", "%fp", "%ip", "%lr" : "%r4", "%r5", "%r6", "%r8", "%r9", "%r10", "%r11", "%fp", "%ip", "%lr"
); );
return r; return r;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment