diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-07-16 23:09:27 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-07-16 23:09:27 +0000 |
commit | 77d60040fe62a09c8e9c71f44c2e3d4dc42dab51 (patch) | |
tree | 0d32a67a84444a5bfe0be52221c82e9956e695eb /sysdeps/powerpc/powerpc64/setjmp-common.S | |
parent | 531b71dd4ddc4b15fe643b182d500e6bc7bde413 (diff) | |
download | glibc-77d60040fe62a09c8e9c71f44c2e3d4dc42dab51.tar.gz glibc-77d60040fe62a09c8e9c71f44c2e3d4dc42dab51.tar.xz glibc-77d60040fe62a09c8e9c71f44c2e3d4dc42dab51.zip |
[BZ #269]
Update. 2004-07-16 Steven Munroe <sjmunroe@us.ibm.com> [BZ #269] * setjmp/Makefile (tests): Add bug269-setjmp. * setjmp/bug269-setjmp.c: New file. * sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]: Store R2 from jmpbuf in callers TOC save area. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]: Store R2 in TOC save area. * sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]: Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/setjmp-common.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/setjmp-common.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S index 99b181dfe4..ab57170875 100644 --- a/sysdeps/powerpc/powerpc64/setjmp-common.S +++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -44,7 +44,12 @@ ENTRY (BP_SYM (__sigsetjmp)) CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) std r1,(JB_GPR1*8)(3) mflr r0 +#if defined SHARED && !defined IS_IN_rtld + ld r5,40(r1) /* Retrieve the callers TOC. */ + std r5,(JB_GPR2*8)(3) +#else std r2,(JB_GPR2*8)(3) +#endif std r14,((JB_GPRS+0)*8)(3) stfd fp14,((JB_FPRS+0)*8)(3) std r0,(JB_LR*8)(3) |