Index: lib/libc/arch/arm/gen/_setjmp.S =================================================================== RCS file: /cvsroot/src/lib/libc/arch/arm/gen/_setjmp.S,v retrieving revision 1.10 diff -u -p -u -r1.10 _setjmp.S --- lib/libc/arch/arm/gen/_setjmp.S 29 Jan 2013 19:23:09 -0000 1.10 +++ lib/libc/arch/arm/gen/_setjmp.S 19 Apr 2013 12:33:59 -0000 @@ -107,10 +107,10 @@ ENTRY(_longjmp) #ifdef __ARM_EABI__ teq r3, r2 /* did magic change? */ beq 1f /* no, don't restore VFP */ - add r1, r0, #(_JB_REG_D8 * 4) - vldmia r1, {d8-d15} - ldr r1, [r0, #(_JB_REG_FPSCR * 4)] - vmsr fpscr, r1 + add ip, r0, #(_JB_REG_D8 * 4) + vldmia ip, {d8-d15} + ldr ip, [r0, #(_JB_REG_FPSCR * 4)] + vmsr fpscr, ip 1: #endif /* __ARM_EABI__ */ Index: lib/libc/arch/arm/gen/setjmp.S =================================================================== RCS file: /cvsroot/src/lib/libc/arch/arm/gen/setjmp.S,v retrieving revision 1.12 diff -u -p -u -r1.12 setjmp.S --- lib/libc/arch/arm/gen/setjmp.S 29 Jan 2013 19:23:09 -0000 1.12 +++ lib/libc/arch/arm/gen/setjmp.S 19 Apr 2013 12:33:59 -0000 @@ -105,6 +105,7 @@ ENTRY(__longjmp14) ldr ip, .Lsetjmp_magic bic r3, r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) teq r3, ip + bne .Lbotch /* Restore the signal mask. */ stmfd sp!, {r0-r2, r14} @@ -118,10 +119,10 @@ ENTRY(__longjmp14) tst r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) /* is this a VFP magic? */ beq 1f /* no, don't restore VFP */ - add r1, r0, #(_JB_REG_D8 * 4) - vldmia r1, {d8-d15} - ldr r1, [r0, #(_JB_REG_FPSCR * 4)] - vmsr fpscr, r1 + add ip, r0, #(_JB_REG_D8 * 4) + vldmia ip, {d8-d15} + ldr ip, [r0, #(_JB_REG_FPSCR * 4)] + vmsr fpscr, ip 1: #endif /* __ARM_EABI__ */