diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-12-29 22:03:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-12-29 22:03:36 +0000 |
commit | 4e54d7e4761ec174a8217dc7f9c2b1fe092862ed (patch) | |
tree | 563f227044d1f2e91610a31ef38a1ae444e83f80 /sysdeps/powerpc/powerpc32 | |
parent | 8a422e9efd3a5a3f1d88a2b27831874916f4144f (diff) | |
download | glibc-4e54d7e4761ec174a8217dc7f9c2b1fe092862ed.tar glibc-4e54d7e4761ec174a8217dc7f9c2b1fe092862ed.tar.gz glibc-4e54d7e4761ec174a8217dc7f9c2b1fe092862ed.tar.bz2 glibc-4e54d7e4761ec174a8217dc7f9c2b1fe092862ed.zip |
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h [ASSEMBLER]:
Define PTR_DEMANGLE2.
* sysdeps/powerpc/powerpc32/setjmp-common.S [PTR_MANGLE]: Also
mangle r1.
* sysdeps/powerpc/powerpc32/__longjmp-common.S [PTR_DEMANGLE]: Also
demangle r1.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S [PTR_MANGLE]: Mangle
r0 and r1.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S [PTR_DEMANGLE]:
Demangle r0 and r1.
Diffstat (limited to 'sysdeps/powerpc/powerpc32')
-rw-r--r-- | sysdeps/powerpc/powerpc32/__longjmp-common.S | 1 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/fpu/setjmp-common.S | 9 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/setjmp-common.S | 6 |
4 files changed, 21 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc32/__longjmp-common.S b/sysdeps/powerpc/powerpc32/__longjmp-common.S index 80f5905208..d3f5545579 100644 --- a/sysdeps/powerpc/powerpc32/__longjmp-common.S +++ b/sysdeps/powerpc/powerpc32/__longjmp-common.S @@ -43,6 +43,7 @@ ENTRY (BP_SYM (__longjmp)) lwz r20,((JB_GPRS+6)*4)(r3) #ifdef PTR_DEMANGLE PTR_DEMANGLE (r0, r25) + PTR_DEMANGLE2 (r1, r25) #endif mtlr r0 lwz r21,((JB_GPRS+7)*4)(r3) diff --git a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S index 73cc8181f9..022d7ebbad 100644 --- a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S @@ -1,5 +1,5 @@ /* longjmp for PowerPC. - Copyright (C) 1995-99, 2000, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1995-99, 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 @@ -128,6 +128,10 @@ L(no_vmx): lfd fp19,((JB_FPRS+5*2)*4)(r3) lwz r20,((JB_GPRS+6)*4)(r3) lfd fp20,((JB_FPRS+6*2)*4)(r3) +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (r0, r25) + PTR_DEMANGLE2 (r1, r25) +#endif mtlr r0 lwz r21,((JB_GPRS+7)*4)(r3) lfd fp21,((JB_FPRS+7*2)*4)(r3) diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S index cf3f215f2d..dae79046d3 100644 --- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S @@ -32,10 +32,19 @@ 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) stfd fp14,((JB_FPRS+0*2)*4)(3) +#ifdef PTR_MANGLE + PTR_MANGLE (r0, r10) +#endif stw r0,(JB_LR*4)(3) stw r15,((JB_GPRS+1)*4)(3) stfd fp15,((JB_FPRS+1*2)*4)(3) diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S index 750075459c..35740923d2 100644 --- a/sysdeps/powerpc/powerpc32/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/setjmp-common.S @@ -33,7 +33,13 @@ 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 |