summaryrefslogtreecommitdiffstats
path: root/runtime/sduprobes.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/sduprobes.h')
-rw-r--r--runtime/sduprobes.h39
1 files changed, 19 insertions, 20 deletions
diff --git a/runtime/sduprobes.h b/runtime/sduprobes.h
index 934f19e0..b91dea93 100644
--- a/runtime/sduprobes.h
+++ b/runtime/sduprobes.h
@@ -7,13 +7,6 @@
// later version.
#include <string.h>
-extern int _stap_probe_sentinel;
-
-#define STAP_PROBE_START() \
- char *stap_sdt = getenv("SYSTEMTAP_SDT"); \
- if (stap_sdt != NULL) \
- _stap_probe_start ()
-
#if _LP64
#define STAP_PROBE_STRUCT_ARG \
@@ -35,21 +28,20 @@ struct _probe_ ## probe \
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE(provider,probe) \
STAP_PROBE_STRUCT(probe,0,0) \
- if (__builtin_expect(_stap_probe_sentinel, 0))\
- _stap_probe_0 (_probe_ ## probe.probe_name);
+ _stap_probe_0 (_probe_ ## probe.probe_name);
#else
#define STAP_PROBE(provider,probe) \
_probe_ ## probe: \
asm volatile ("nop"); \
- STAP_PROBE_STRUCT(probe,1,(size_t)&& _probe_ ## probe)
+ STAP_PROBE_STRUCT(probe,1,(size_t)&& _probe_ ## probe) \
+ asm volatile ("# %0" :: "m" ((_probe_ ## probe.probe_type)));
#endif
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE1(provider,probe,arg1) \
STAP_PROBE_STRUCT(probe,0,1) \
- if (__builtin_expect(_stap_probe_sentinel, 0))\
- _stap_probe_1 (_probe_ ## probe.probe_name,(size_t)arg1);
+ _stap_probe_1 (_probe_ ## probe.probe_name,(size_t)arg1);
#else
#define STAP_PROBE1(provider,probe,parm1) \
_probe_ ## probe: \
@@ -64,8 +56,7 @@ _probe_ ## probe: \
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE2(provider,probe,arg1,arg2) \
STAP_PROBE_STRUCT(probe,0,2) \
- if (__builtin_expect(_stap_probe_sentinel, 0)) \
- _stap_probe_2 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2);
+ _stap_probe_2 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2);
#else
#define STAP_PROBE2(provider,probe,parm1,parm2) \
_probe_ ## probe: \
@@ -81,8 +72,7 @@ _probe_ ## probe: \
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE3(provider,probe,arg1,arg2,arg3) \
STAP_PROBE_STRUCT(probe,0,3) \
- if (__builtin_expect(_stap_probe_sentinel, 0)) \
- _stap_probe_3 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3);
+ _stap_probe_3 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3);
#else
#define STAP_PROBE3(provider,probe,parm1,parm2,parm3) \
_probe_ ## probe: \
@@ -100,8 +90,7 @@ _probe_ ## probe: \
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE4(provider,probe,arg1,arg2,arg3,arg4) \
STAP_PROBE_STRUCT(probe,0,4) \
- if (__builtin_expect(_stap_probe_sentinel, 0)) \
- _stap_probe_4 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4);
+ _stap_probe_4 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4);
#else
#define STAP_PROBE4(provider,probe,parm1,parm2,parm3) \
_probe_ ## probe: \
@@ -121,8 +110,7 @@ _probe_ ## probe: \
#ifndef USE_STAP_DEBUGINFO_PROBE
#define STAP_PROBE5(provider,probe,arg1,arg2,arg3,arg4,arg5) \
STAP_PROBE_STRUCT(probe,0,5) \
- if (__builtin_expect(_stap_probe_sentinel, 0))\
- _stap_probe_5 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4,(size_t)arg5);
+ _stap_probe_5 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4,(size_t)arg5);
#else
#define STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \
_probe_ ## probe: \
@@ -140,3 +128,14 @@ _probe_ ## probe: \
asm volatile ("# %0" :: "r"(arg5)); \
asm volatile ("# %0" :: "m" ((_probe_ ## probe.probe_type)));
#endif
+
+#define DTRACE_PROBE1(provider,probe,parm1,parm2,parm3,parm4,parm5) \
+STAP_PROBE1(provider,probe,parm1,parm2,parm3,parm4,parm5)
+#define DTRACE_PROBE2(provider,probe,parm1,parm2,parm3,parm4,parm5) \
+STAP_PROBE2(provider,probe,parm1,parm2,parm3,parm4,parm5)
+#define DTRACE_PROBE3(provider,probe,parm1,parm2,parm3,parm4,parm5) \
+STAP_PROBE3(provider,probe,parm1,parm2,parm3,parm4,parm5)
+#define DTRACE_PROBE4(provider,probe,parm1,parm2,parm3,parm4,parm5) \
+STAP_PROBE4(provider,probe,parm1,parm2,parm3,parm4,parm5)
+#define DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \
+STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5)