diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2009-05-22 08:28:20 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-05-22 08:28:20 -0700 |
commit | 0323b051be1bee42592e6813064031aacfd6063d (patch) | |
tree | b85d9fb459dcec060171183b6fc92f0b01391391 /sysdeps/powerpc/powerpc32/fpu | |
parent | 1e1dc4e82dd4f31b87440388614c3e4bccdd5f3c (diff) | |
download | glibc-0323b051be1bee42592e6813064031aacfd6063d.tar.gz glibc-0323b051be1bee42592e6813064031aacfd6063d.tar.xz glibc-0323b051be1bee42592e6813064031aacfd6063d.zip |
Add ___longjmp_chk support for powerpc{32,64}.
Diffstat (limited to 'sysdeps/powerpc/powerpc32/fpu')
-rw-r--r-- | sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S index f9f010fcac..f105815b9c 100644 --- a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S @@ -114,7 +114,7 @@ L(aligned_restore_vmx): lvx v31,0,r6 L(no_vmx): #endif -#ifdef PTR_DEMANGLE +#if defined PTR_DEMANGLE || defined CHECK_SP lwz r24,(JB_GPR1*4)(r3) #else lwz r1,(JB_GPR1*4)(r3) @@ -135,9 +135,17 @@ L(no_vmx): lwz r20,((JB_GPRS+6)*4)(r3) lfd fp20,((JB_FPRS+6*2)*4)(r3) #ifdef PTR_DEMANGLE +# ifdef CHECK_SP + PTR_DEMANGLE3 (r24, r24, r25) +# else PTR_DEMANGLE3 (r1, r24, r25) +# endif PTR_DEMANGLE2 (r0, r25) #endif +#ifdef CHECK_SP + CHECK_SP (r24) + mr r1,r24 +#endif mtlr r0 lwz r21,((JB_GPRS+7)*4)(r3) lfd fp21,((JB_FPRS+7*2)*4)(r3) |