summaryrefslogtreecommitdiffstats
path: root/newlib/libc/machine/arm/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/arm/setjmp.S')
-rw-r--r--newlib/libc/machine/arm/setjmp.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S
index 2181a1874..a65fbabb9 100644
--- a/newlib/libc/machine/arm/setjmp.S
+++ b/newlib/libc/machine/arm/setjmp.S
@@ -170,8 +170,8 @@ SYM (\name):
/* Save all the callee-preserved registers into the jump buffer. */
#ifdef __thumb2__
+ mov ip, sp
stmea a1!, { v1-v7, fp, ip, lr }
- str sp, [a1],#+4
#else
stmea a1!, { v1-v7, fp, ip, sp, lr }
#endif
@@ -198,7 +198,7 @@ SYM (\name):
/* Restore the registers, retrieving the state when setjmp() was called. */
#ifdef __thumb2__
ldmfd a1!, { v1-v7, fp, ip, lr }
- ldr sp, [a1],#+4
+ mov sp, ip
#else
ldmfd a1!, { v1-v7, fp, ip, sp, lr }
#endif