diff options
author | Andreas Schwab <aschwab@redhat.com> | 2009-06-26 17:10:59 +0200 |
---|---|---|
committer | Andreas Schwab <aschwab@redhat.com> | 2009-06-26 17:10:59 +0200 |
commit | bb8723997676e11a0f7f2b3bf61fedf761da9a2a (patch) | |
tree | 8bef03cd9cbe74b11e08b604c32f01777e39cb0c /sysdeps/powerpc/powerpc64 | |
parent | a879c2cb1753c3aa868aa1e9d2107e9f0deb0dc2 (diff) |
Allow backtracing through ____longjmp_chk.
Diffstat (limited to 'sysdeps/powerpc/powerpc64')
-rw-r--r-- | sysdeps/powerpc/powerpc64/____longjmp_chk.S | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/____longjmp_chk.S b/sysdeps/powerpc/powerpc64/____longjmp_chk.S index 56549021aa..f1b7d85e46 100644 --- a/sysdeps/powerpc/powerpc64/____longjmp_chk.S +++ b/sysdeps/powerpc/powerpc64/____longjmp_chk.S @@ -32,8 +32,16 @@ #define CHECK_SP(reg) \ cmpld reg, r1; \ bge+ .Lok; \ + cfi_remember_state; \ + mflr r0; \ + std r0,16(r1); \ + stdu r1,-112(r1); \ + cfi_adjust_cfa_offset (112); \ + cfi_offset (lr, 16); \ ld r3,.LC1@toc(2); \ bl HIDDEN_JUMPTARGET (__fortify_fail); \ + nop; \ + cfi_restore_state; \ .Lok: #include <__longjmp-common.S> |