diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2009-05-13 22:31:55 +0400 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2009-05-13 22:31:55 +0400 |
commit | 5900080d7dd3e805415b6cd063d5a3707026042d (patch) | |
tree | dee05115ff80f1c4a66621615a281a6fe82f356b /newlib/libc/machine | |
parent | eba36c51fa066f1a8abdc41c42b9f5310d181a12 (diff) |
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.
Diffstat (limited to 'newlib/libc/machine')
-rw-r--r-- | newlib/libc/machine/arm/setjmp.S | 4 |
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 |