[lttng-dev] [PATCH] Fix: Don't (re)define STAP_PROBEV
Stelios Bounanos
sb at enotty.net
Wed Oct 14 12:31:36 EDT 2015
Define a new LTTNG_STAP_PROBEV macro to avoid clobbering STAP_PROBEV or
emitting unwanted sdt probes when lttng-ust has been built without sdt
support.
Signed-off-by: Stelios Bounanos <sb at enotty.net>
---
Notes:
Tested by building doc/examples/hello-static-lib both --with-sdt and
--without-sdt.
Programs that included sys/sdt.h after (for example) lttng/tracef.h
would get static probes for lttng tracepoints even if lttng-ust was
built without sdt support. I'm guessing that this was unintended.
include/lttng/tracef.h | 2 +-
include/lttng/tracelog.h | 2 +-
include/lttng/tracepoint.h | 5 +++--
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/include/lttng/tracef.h b/include/lttng/tracef.h
index 7e8b59e..0c59c9a 100644
--- a/include/lttng/tracef.h
+++ b/include/lttng/tracef.h
@@ -34,7 +34,7 @@ void _lttng_ust_tracef(const char *fmt, ...);
#define tracef(fmt, ...) \
do { \
- STAP_PROBEV(tracepoint_lttng_ust_tracef, event, ## __VA_ARGS__); \
+ LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracef, event, ## __VA_ARGS__); \
if (caa_unlikely(__tracepoint_lttng_ust_tracef___event.state)) \
_lttng_ust_tracef(fmt, ## __VA_ARGS__); \
} while (0)
diff --git a/include/lttng/tracelog.h b/include/lttng/tracelog.h
index 5f14f70..4309d12 100644
--- a/include/lttng/tracelog.h
+++ b/include/lttng/tracelog.h
@@ -53,7 +53,7 @@ TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG);
#define tracelog(level, fmt, ...) \
do { \
- STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
+ LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \
_lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \
fmt, ## __VA_ARGS__); \
diff --git a/include/lttng/tracepoint.h b/include/lttng/tracepoint.h
index 4bc4fc9..e88db89 100644
--- a/include/lttng/tracepoint.h
+++ b/include/lttng/tracepoint.h
@@ -37,8 +37,9 @@
#ifdef LTTNG_UST_HAVE_SDT_INTEGRATION
#define SDT_USE_VARIADIC
#include <sys/sdt.h>
+#define LTTNG_STAP_PROBEV STAP_PROBEV
#else
-#define STAP_PROBEV(...)
+#define LTTNG_STAP_PROBEV(...)
#endif
#ifdef __cplusplus
@@ -53,7 +54,7 @@ extern "C" {
#define tracepoint(provider, name, ...) \
do { \
- STAP_PROBEV(provider, name, ## __VA_ARGS__); \
+ LTTNG_STAP_PROBEV(provider, name, ## __VA_ARGS__); \
if (tracepoint_enabled(provider, name)) \
do_tracepoint(provider, name, __VA_ARGS__); \
} while (0)
--
2.6.1
More information about the lttng-dev
mailing list