diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-12-30 21:04:04 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-12-30 21:04:04 +0000 |
commit | 5ad77144942c0ea0a3f3c71d4ddccdf91e64771c (patch) | |
tree | f569e6b67256e78f1bb36da65e94bf1efffa5f8c /sysdeps/powerpc/powerpc32 | |
parent | b36205c4ab71222bf11fba59114f98fec8348777 (diff) | |
download | glibc-5ad77144942c0ea0a3f3c71d4ddccdf91e64771c.tar.gz glibc-5ad77144942c0ea0a3f3c71d4ddccdf91e64771c.tar.xz glibc-5ad77144942c0ea0a3f3c71d4ddccdf91e64771c.zip |
* sysdeps/powerpc/powerpc64/setjmp-common.S: Make sure pointer guard
value doesn't survive in a registers when the function returns. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. 2005-12-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Define PTR_MANGLE2. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Define PTR_MANGLE2 and PTR_DEMANGLE2. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Use PTR_DEMANGLE2. * sysdeps/powerpc/powerpc64/setjmp-common.S: Use PTR_MANGLE2. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. 2005-12-30 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'sysdeps/powerpc/powerpc32')
-rw-r--r-- | sysdeps/powerpc/powerpc32/fpu/setjmp-common.S | 12 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/setjmp-common.S | 3 |
2 files changed, 8 insertions, 7 deletions
diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S index dae79046d3..3afcf66fb9 100644 --- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S @@ -1,5 +1,5 @@ /* setjmp for PowerPC. - Copyright (C) 1995-99, 2000, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1995-2000, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,7 +34,7 @@ ENTRY (BP_SYM (__sigsetjmp)) #ifdef PTR_MANGLE mr r5,r1 - PTR_MANGLE(r5, r10) + PTR_MANGLE(r5, r6) stw r5,(JB_GPR1*4)(3) #else stw r1,(JB_GPR1*4)(3) @@ -43,7 +43,7 @@ ENTRY (BP_SYM (__sigsetjmp)) stw r14,((JB_GPRS+0)*4)(3) stfd fp14,((JB_FPRS+0*2)*4)(3) #ifdef PTR_MANGLE - PTR_MANGLE (r0, r10) + PTR_MANGLE2 (r0, r6) #endif stw r0,(JB_LR*4)(3) stw r15,((JB_GPRS+1)*4)(3) @@ -104,9 +104,9 @@ ENTRY (BP_SYM (__sigsetjmp)) lwz r5,0(r5) # endif # else - lis r5,_dl_hwcap@ha - lwz r5,_dl_hwcap@l(r5) -#endif + lis r6,_dl_hwcap@ha + lwz r5,_dl_hwcap@l(r6) +# endif andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16) beq L(no_vmx) la r5,((JB_VRS)*4)(3) diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S index 35740923d2..69d36cce03 100644 --- a/sysdeps/powerpc/powerpc32/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/setjmp-common.S @@ -43,7 +43,8 @@ ENTRY (BP_SYM (__sigsetjmp)) 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) |