summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc32/setjmp-common.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc32/setjmp-common.S')
-rw-r--r--sysdeps/powerpc/powerpc32/setjmp-common.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S
index 750075459c..69d36cce03 100644
--- a/sysdeps/powerpc/powerpc32/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/setjmp-common.S
@@ -33,11 +33,18 @@
ENTRY (BP_SYM (__sigsetjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
+#ifdef PTR_MANGLE
+ mr r5,r1
+ PTR_MANGLE(r5, r10)
+ stw r5,(JB_GPR1*4)(3)
+#else
stw r1,(JB_GPR1*4)(3)
+#endif
mflr r0
stw r14,((JB_GPRS+0)*4)(3)
#ifdef PTR_MANGLE
- PTR_MANGLE (r0, r10)
+ PTR_MANGLE2 (r0, r10)
+ li r10,0
#endif
stw r0,(JB_LR*4)(3)
stw r15,((JB_GPRS+1)*4)(3)