mirror of git://sourceware.org/git/glibc.git
Allow backtracing through ____longjmp_chk.
This commit is contained in:
parent
a879c2cb17
commit
bb87239976
|
|
@ -1,3 +1,10 @@
|
|||
2009-06-26 Andreas Schwab <aschwab@redhat.com>
|
||||
|
||||
* sysdeps/powerpc/powerpc32/____longjmp_chk.S (CHECK_SP): Save lr
|
||||
before call.
|
||||
* sysdeps/powerpc/powerpc64/____longjmp_chk.S (CHECK_SP):
|
||||
Likewise.
|
||||
|
||||
2009-06-26 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* resolv/resolv.h: Define RES_SNGLKUPREOP.
|
||||
|
|
|
|||
|
|
@ -49,8 +49,16 @@
|
|||
#define CHECK_SP(reg) \
|
||||
cmplw reg, r1; \
|
||||
bge+ .Lok; \
|
||||
cfi_remember_state; \
|
||||
mflr r0; \
|
||||
stwu r1,-16(r1); \
|
||||
cfi_adjust_cfa_offset (16); \
|
||||
stw r0,20(r1); \
|
||||
cfi_offset (lr, 4); \
|
||||
LOAD_ARG; \
|
||||
bl HIDDEN_JUMPTARGET (__fortify_fail); \
|
||||
nop; \
|
||||
cfi_restore_state; \
|
||||
.Lok:
|
||||
|
||||
#include <__longjmp-common.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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue