Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2009-05-13 22:31:55 +0400
committerJeff Johnston <jjohnstn@redhat.com>2009-05-13 22:31:55 +0400
commit5900080d7dd3e805415b6cd063d5a3707026042d (patch)
treedee05115ff80f1c4a66621615a281a6fe82f356b /newlib/libc/machine
parenteba36c51fa066f1a8abdc41c42b9f5310d181a12 (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.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