summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-01-02 10:52:59 +0000
committerJakub Jelinek <jakub@redhat.com>2006-01-02 10:52:59 +0000
commit0db2497936950725ae71e997091ef276a3ec43ee (patch)
tree7d66db137accea00fe402dfabf8e5de3a4af58c6 /sysdeps/powerpc/powerpc64
parentb9ea6c38033d6ab0bda9dddb34cc7a4c6ff82084 (diff)
Updated to fedora-glibc-20060102T1045
Diffstat (limited to 'sysdeps/powerpc/powerpc64')
-rw-r--r--sysdeps/powerpc/powerpc64/__longjmp-common.S5
-rw-r--r--sysdeps/powerpc/powerpc64/setjmp-common.S18
2 files changed, 17 insertions, 6 deletions
diff --git a/sysdeps/powerpc/powerpc64/__longjmp-common.S b/sysdeps/powerpc/powerpc64/__longjmp-common.S
index 73967e0093..bf7e32446d 100644
--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S
+++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S
@@ -109,6 +109,9 @@ aligned_restore_vmx:
L(no_vmx):
#endif
ld r1,(JB_GPR1*8)(r3)
+#ifdef PTR_DEMANGLE
+ PTR_DEMANGLE (r1, r25)
+#endif
ld r2,(JB_GPR2*8)(r3)
ld r0,(JB_LR*8)(r3)
ld r14,((JB_GPRS+0)*8)(r3)
@@ -129,7 +132,7 @@ L(no_vmx):
ld r20,((JB_GPRS+6)*8)(r3)
lfd fp20,((JB_FPRS+6)*8)(r3)
#ifdef PTR_DEMANGLE
- PTR_DEMANGLE (r0, r25)
+ PTR_DEMANGLE2 (r0, r25)
#endif
mtlr r0
/* std r2,40(r1) Restore the TOC save area. */
diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S
index 4098fd63f5..11ecedf2c1 100644
--- a/sysdeps/powerpc/powerpc64/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc64/setjmp-common.S
@@ -46,7 +46,13 @@ ENTRY (BP_SYM (__sigsetjmp))
.hidden JUMPTARGET(GLUE(__sigsetjmp,_ent))
JUMPTARGET(GLUE(__sigsetjmp,_ent)):
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
+#ifdef PTR_MANGLE
+ mr r5, r1
+ PTR_MANGLE (r5, r6)
+ std r5,(JB_GPR1*8)(3)
+#else
std r1,(JB_GPR1*8)(3)
+#endif
mflr r0
#if defined SHARED && !defined IS_IN_rtld
ld r5,40(r1) /* Retrieve the callers TOC. */
@@ -57,7 +63,7 @@ JUMPTARGET(GLUE(__sigsetjmp,_ent)):
std r14,((JB_GPRS+0)*8)(3)
stfd fp14,((JB_FPRS+0)*8)(3)
#ifdef PTR_MANGLE
- PTR_MANGLE (r0, r10)
+ PTR_MANGLE2 (r0, r6)
#endif
std r0,(JB_LR*8)(3)
std r15,((JB_GPRS+1)*8)(3)
@@ -97,14 +103,14 @@ JUMPTARGET(GLUE(__sigsetjmp,_ent)):
std r31,((JB_GPRS+17)*8)(3)
stfd fp31,((JB_FPRS+17)*8)(3)
#ifndef __NO_VMX__
- ld r5,.LC__dl_hwcap@toc(r2)
+ ld r6,.LC__dl_hwcap@toc(r2)
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
- ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+ ld r6,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r6)
# else
- ld r5,0(r5) /* Load extern _dl_hwcap. */
+ ld r6,0(r6) /* Load extern _dl_hwcap. */
# endif
- andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+ andis. r6,r6,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq L(no_vmx)
la r5,((JB_VRS)*8)(3)
andi. r6,r5,0xf
@@ -179,6 +185,8 @@ L(aligned_save_vmx):
stvx 30,0,r5
stvx 31,0,r6
L(no_vmx):
+#else
+ li r6,0
#endif
#if defined NOT_IN_libc && defined IS_IN_rtld
li r3,0