From: Karel Gardas Date: Tue, 14 Feb 2012 07:03:07 +0000 (+0100) Subject: fix ARM StgCRun to not save and restore r11/fp register twice X-Git-Tag: archive/raspbian/8.0.2-9+rpi1~1^2^2^2^2^2^2~13 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bdaf107cc2b1544a906939e560f214ac35350c4a;p=ghc.git fix ARM StgCRun to not save and restore r11/fp register twice Gbp-Pq: Name fix-ARM-StgCRun-to-not-save-and-restore-r11-fp-regis --- diff --git a/rts/StgCRun.c b/rts/StgCRun.c index 9ca22d2b..3654b333 100644 --- a/rts/StgCRun.c +++ b/rts/StgCRun.c @@ -632,7 +632,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) { /* * save callee-saves registers on behalf of the STG code. */ - "stmfd sp!, {r4-r11, fp, ip, lr}\n\t" + "stmfd sp!, {r4-r10, fp, ip, lr}\n\t" #if !defined(arm_HOST_ARCH_PRE_ARMv6) "vstmdb sp!, {d8-d11}\n\t" #endif @@ -669,7 +669,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) { #if !defined(arm_HOST_ARCH_PRE_ARMv6) "vldmia sp!, {d8-d11}\n\t" #endif - "ldmfd sp!, {r4-r11, fp, ip, lr}\n\t" + "ldmfd sp!, {r4-r10, fp, ip, lr}\n\t" : "=r" (r) : "r" (f), "r" (basereg), "i" (RESERVED_C_STACK_BYTES) #if !defined(__thumb__)