mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
aarch64: Add setjmp and longjmp SystemTap probes
Add setjmp, longjmp and longjmp_target SystemTap probes. ChangeLog: 2014-04-22 Will Newton <will.newton@linaro.org> Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. (__longjmp): Add longjmp and longjmp_target SystemTap probes. * sysdeps/aarch64/setjmp.S: Include stap-probe.h. (__sigsetjmp): Add setjmp SystemTap probe.
This commit is contained in:
parent
c54e5cf7db
commit
140cc7abf7
3 changed files with 24 additions and 0 deletions
|
@ -1,3 +1,12 @@
|
|||
2014-04-22 Will Newton <will.newton@linaro.org>
|
||||
Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
|
||||
|
||||
* sysdeps/aarch64/__longjmp.S: Include stap-probe.h.
|
||||
(__longjmp): Add longjmp and longjmp_target SystemTap
|
||||
probes.
|
||||
* sysdeps/aarch64/setjmp.S: Include stap-probe.h.
|
||||
(__sigsetjmp): Add setjmp SystemTap probe.
|
||||
|
||||
2014-04-17 Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
* manual/intro.texi (Roadmap to the manual): Sort chapter listing to
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <sysdep.h>
|
||||
#include <jmpbuf-offsets.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
/* __longjmp(jmpbuf, val) */
|
||||
|
||||
|
@ -56,6 +57,10 @@ ENTRY (__longjmp)
|
|||
#else
|
||||
ldp x29, x30, [x0, #JB_X29<<3]
|
||||
#endif
|
||||
/* longjmp probe takes 3 arguments, address of jump buffer as
|
||||
first argument (8@x0), return value as second argument (-4@x1),
|
||||
and target address (8@x30), respectively. */
|
||||
LIBC_PROBE (longjmp, 3, 8@x0, -4@x1, 8@x30)
|
||||
ldp d8, d9, [x0, #JB_D8<<3]
|
||||
ldp d10, d11, [x0, #JB_D10<<3]
|
||||
ldp d12, d13, [x0, #JB_D12<<3]
|
||||
|
@ -98,6 +103,11 @@ ENTRY (__longjmp)
|
|||
ldr x5, [x0, #JB_SP<<3]
|
||||
#endif
|
||||
mov sp, x5
|
||||
|
||||
/* longjmp_target probe takes 3 arguments, address of jump buffer
|
||||
as first argument (8@x0), return value as second argument (-4@x1),
|
||||
and target address (8@x30), respectively. */
|
||||
LIBC_PROBE (longjmp_target, 3, 8@x0, -4@x1, 8@x30)
|
||||
cmp x1, #0
|
||||
mov x0, #1
|
||||
csel x0, x1, x0, ne
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <sysdep.h>
|
||||
#include <jmpbuf-offsets.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
/* Keep traditional entry points in with sigsetjmp(). */
|
||||
ENTRY (setjmp)
|
||||
|
@ -46,6 +47,10 @@ ENTRY (__sigsetjmp)
|
|||
#else
|
||||
stp x29, x30, [x0, #JB_X29<<3]
|
||||
#endif
|
||||
/* setjmp probe takes 3 arguments, address of jump buffer
|
||||
first argument (8@x0), return value second argument (-4@x1),
|
||||
and target address (8@x30), respectively. */
|
||||
LIBC_PROBE (setjmp, 3, 8@x0, -4@x1, 8@x30)
|
||||
stp d8, d9, [x0, #JB_D8<<3]
|
||||
stp d10, d11, [x0, #JB_D10<<3]
|
||||
stp d12, d13, [x0, #JB_D12<<3]
|
||||
|
|
Loading…
Add table
Reference in a new issue