aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sh/sh3/setjmp.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-01-20 16:49:36 +0000
committerUlrich Drepper <drepper@redhat.com>2006-01-20 16:49:36 +0000
commita6df738797825b5d19448903b9b7c35b091e13c2 (patch)
tree84bcbef708f799bdfda21dd76bbba26a53ae2e7d /sysdeps/sh/sh3/setjmp.S
parent7c65e9001b93d5d20046bc4d50fd10fff5f4adc2 (diff)
downloadglibc-a6df738797825b5d19448903b9b7c35b091e13c2.tar
glibc-a6df738797825b5d19448903b9b7c35b091e13c2.tar.gz
glibc-a6df738797825b5d19448903b9b7c35b091e13c2.tar.bz2
glibc-a6df738797825b5d19448903b9b7c35b091e13c2.zip
* sysdeps/sh/sh4/__longjmp.S: Demangle also r14 and r15.
* sysdeps/sh/sh3/__longjmp.S: Likewise. * sysdeps/sh/sh4/setjmp.S: Mangle also r14 and r15. * sysdeps/sh/sh3/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h [__ASSEMBLER__] (PTR_MANGLE): Add temporary register as the second parameter. (PTR_DEMANGLE): Likewize. (PTR_MANGLE2, PTR_DEMANGLE2): Define.
Diffstat (limited to 'sysdeps/sh/sh3/setjmp.S')
-rw-r--r--sysdeps/sh/sh3/setjmp.S11
1 files changed, 9 insertions, 2 deletions
diff --git a/sysdeps/sh/sh3/setjmp.S b/sysdeps/sh/sh3/setjmp.S
index c125b29ae7..d04e4b851f 100644
--- a/sysdeps/sh/sh3/setjmp.S
+++ b/sysdeps/sh/sh3/setjmp.S
@@ -26,13 +26,20 @@ ENTRY (__sigsetjmp)
stc.l gbr, @-r4
#ifdef PTR_MANGLE
sts pr, r2
- PTR_MANGLE (r2)
+ PTR_MANGLE (r2, r1)
mov.l r2, @-r4
+ mov r15, r2
+ PTR_MANGLE2 (r2, r1)
+ mov.l r2, @-r4
+ mov r14, r2
+ PTR_MANGLE2 (r2, r1)
+ mov.l r2, @-r4
+ mov #0, r1
#else
sts.l pr, @-r4
-#endif
mov.l r15, @-r4
mov.l r14, @-r4
+#endif
mov.l r13, @-r4
mov.l r12, @-r4
mov.l r11, @-r4