2009-05-13 Paul Brook <paul@codesourcery.com>

* libc/machine/arm/setjmp.S: Don't bother saving IP.  Copy SP to
        IP before saving.  Likewise when restoring.
This commit is contained in:
Jeff Johnston 2009-05-13 18:31:55 +00:00
parent eba36c51fa
commit 5900080d7d
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2009-05-13 Paul Brook <paul@codesourcery.com>
* libc/machine/arm/setjmp.S: Don't bother saving IP. Copy SP to
IP before saving. Likewise when restoring.
2009-05-13 Paul Brook <paul@codesourcery.com>
* libc/machine/arm/setjmp.S: Add ARMv6-M implementation.

View File

@ -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