diff options
author | Roland McGrath <roland@hack.frob.com> | 2012-05-25 13:31:57 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2012-05-25 13:41:03 -0700 |
commit | 8422c9a560e6e3c854739c8a13ecb1c6714f930f (patch) | |
tree | 145ab8a248defdcdc064755032eecb0eb69a4e97 /sysdeps/x86_64 | |
parent | 3a097cc7a18309c864186c1b864b90889d2a45e9 (diff) | |
download | glibc-8422c9a560e6e3c854739c8a13ecb1c6714f930f.tar.gz glibc-8422c9a560e6e3c854739c8a13ecb1c6714f930f.tar.xz glibc-8422c9a560e6e3c854739c8a13ecb1c6714f930f.zip |
Add systemtap static probe points in setjmp/longjmp on x86.
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r-- | sysdeps/x86_64/__longjmp.S | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/setjmp.S | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/x86_64/__longjmp.S b/sysdeps/x86_64/__longjmp.S index c0c15dc810..ef1147abc1 100644 --- a/sysdeps/x86_64/__longjmp.S +++ b/sysdeps/x86_64/__longjmp.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <jmpbuf-offsets.h> #include <asm-syntax.h> +#include <stap-probe.h> /* Jump to the position specified by ENV, causing the setjmp call there to return VAL, or 1 if VAL is 0. @@ -41,6 +42,7 @@ ENTRY(__longjmp) orq %rax, %r9 # endif #endif + LIBC_PROBE (longjmp, 3, LP_SIZE@%RDI_LP, -4@%esi, LP_SIZE@%RDX_LP) /* We add unwind information for the target here. */ cfi_def_cfa(%rdi, 0) cfi_register(%rsp,%r8) @@ -60,5 +62,7 @@ ENTRY(__longjmp) mov %esi, %eax mov %R8_LP,%RSP_LP movq %r9,%rbp + LIBC_PROBE (longjmp_target, 3, + LP_SIZE@%RDI_LP, -4@%eax, LP_SIZE@%RDX_LP) jmpq *%rdx END (__longjmp) diff --git a/sysdeps/x86_64/setjmp.S b/sysdeps/x86_64/setjmp.S index 5639292da4..82ac73151c 100644 --- a/sysdeps/x86_64/setjmp.S +++ b/sysdeps/x86_64/setjmp.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <jmpbuf-offsets.h> #include <asm-syntax.h> +#include <stap-probe.h> ENTRY (__sigsetjmp) /* Save registers. */ @@ -47,6 +48,7 @@ ENTRY (__sigsetjmp) #endif movq %rdx, (JB_RSP*8)(%rdi) mov (%rsp), %RAX_LP /* Save PC we are returning to now. */ + LIBC_PROBE (setjmp, 3, LP_SIZE@%RDI_LP, -4@%esi, LP_SIZE@%RAX_LP) #ifdef PTR_MANGLE PTR_MANGLE (%RAX_LP) #endif |