diff options
author | Stan Cox <scox@redhat.com> | 2009-07-20 10:20:23 -0400 |
---|---|---|
committer | Stan Cox <scox@redhat.com> | 2009-07-20 10:20:23 -0400 |
commit | c3d506aed4f651a98d1afde2fe700822edf9e78e (patch) | |
tree | b37db67eb616fa62f0151f858210a37dd357c276 /includes/sys | |
parent | 3fba3a19ef634dcabd920656675be43aa81862af (diff) | |
download | systemtap-steved-c3d506aed4f651a98d1afde2fe700822edf9e78e.tar.gz systemtap-steved-c3d506aed4f651a98d1afde2fe700822edf9e78e.tar.xz systemtap-steved-c3d506aed4f651a98d1afde2fe700822edf9e78e.zip |
* tapsets.cxx (dwarf_builder::probe_table::convert_probe):
First check kprobe and utrace (did we arrive via stap?) then check
if probe arg matches mark("NAME")
* sdt.h (STAP_PROBE?_): Use STAP_GUARD for stap check, not gettid.
Diffstat (limited to 'includes/sys')
-rw-r--r-- | includes/sys/sdt.h | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h index 3b788b88..f179c2a7 100644 --- a/includes/sys/sdt.h +++ b/includes/sys/sdt.h @@ -247,11 +247,9 @@ extern long int syscall (long int __sysno, ...) __THROW; # if defined EXPERIMENTAL_KPROBE_SDT # define STAP_SYSCALL __NR_getegid # define STAP_GUARD 0x32425250 -# define GETTID 0 # elif defined EXPERIMENTAL_UTRACE_SDT # define STAP_SYSCALL 0xbead # define STAP_GUARD 0x33425250 -# define GETTID syscall(SYS_gettid) # endif #include <sys/syscall.h> @@ -259,13 +257,13 @@ extern long int syscall (long int __sysno, ...) __THROW; #define STAP_PROBE_(probe) \ do { \ STAP_PROBE_DATA(probe,STAP_SYSCALL,0); \ - syscall (STAP_SYSCALL, #probe, GETTID); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD); \ } while (0) #define STAP_PROBE1_(probe,label,parm1) \ do { \ STAP_PROBE_DATA(probe,STAP_GUARD,1); \ - syscall (STAP_SYSCALL, #probe, GETTID, (size_t)parm1); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, (size_t)parm1); \ } while (0) #define STAP_PROBE2_(probe,label,parm1,parm2) \ @@ -274,7 +272,7 @@ do { \ size_t arg2 __attribute__((aligned(8)));} \ stap_probe2_args = {(size_t)parm1, (size_t)parm2}; \ STAP_PROBE_DATA(probe,STAP_GUARD,2); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe2_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe2_args); \ } while (0) #define STAP_PROBE3_(probe,label,parm1,parm2,parm3) \ @@ -284,7 +282,7 @@ do { \ size_t arg3 __attribute__((aligned(8)));} \ stap_probe3_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3}; \ STAP_PROBE_DATA(probe,STAP_GUARD,3); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe3_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe3_args); \ } while (0) #define STAP_PROBE4_(probe,label,parm1,parm2,parm3,parm4) \ @@ -295,7 +293,7 @@ do { \ size_t arg4 __attribute__((aligned(8)));} \ stap_probe4_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4}; \ STAP_PROBE_DATA(probe,STAP_GUARD,4); \ - syscall (STAP_SYSCALL, #probe, GETTID,&stap_probe4_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD,&stap_probe4_args); \ } while (0) #define STAP_PROBE5_(probe,label,parm1,parm2,parm3,parm4,parm5) \ @@ -308,7 +306,7 @@ do { \ stap_probe5_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5}; \ STAP_PROBE_DATA(probe,STAP_GUARD,5); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe5_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe5_args); \ } while (0) #define STAP_PROBE6_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6) \ @@ -322,7 +320,7 @@ do { \ stap_probe6_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5, (size_t)parm6}; \ STAP_PROBE_DATA(probe,STAP_GUARD,6); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe6_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe6_args); \ } while (0) #define STAP_PROBE7_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7) \ @@ -337,7 +335,7 @@ do { \ stap_probe7_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5, (size_t)parm6, (size_t)parm7}; \ STAP_PROBE_DATA(probe,STAP_GUARD,7); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe7_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe7_args); \ } while (0) #define STAP_PROBE8_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) \ @@ -353,7 +351,7 @@ do { \ stap_probe8_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5, (size_t)parm6, (size_t)parm7, (size_t)parm8}; \ STAP_PROBE_DATA(probe,STAP_GUARD,8); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe8_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe8_args); \ } while (0) #define STAP_PROBE9_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) \ @@ -370,7 +368,7 @@ do { \ stap_probe9_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5, (size_t)parm6, (size_t)parm7, (size_t)parm8, (size_t)parm9}; \ STAP_PROBE_DATA(probe,STAP_GUARD,9); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe9_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe9_args); \ } while (0) #define STAP_PROBE10_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) \ @@ -388,7 +386,7 @@ do { \ stap_probe10_args = {(size_t)parm1, (size_t)parm2, (size_t)parm3, (size_t)parm4, \ (size_t)parm5, (size_t)parm6, (size_t)parm7, (size_t)parm8, (size_t)parm9, (size_t)parm10}; \ STAP_PROBE_DATA(probe,STAP_GUARD,10); \ - syscall (STAP_SYSCALL, #probe, GETTID, &stap_probe10_args); \ + syscall (STAP_SYSCALL, #probe, STAP_GUARD, &stap_probe10_args); \ } while (0) #endif |