[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