*/
#include <sys/sdt.h>
-#define _LTTNG_UST_SDT_NARG(...) \
- __LTTNG_UST_SDT_NARG(__VA_ARGS__, 12,11,10,9,8,7,6,5,4,3,2,1,0)
+#define LTTNG_UST__SDT_NARG(...) \
+ LTTNG_UST___SDT_NARG(__VA_ARGS__, 12,11,10,9,8,7,6,5,4,3,2,1,0)
-#define __LTTNG_UST_SDT_NARG(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12, N, ...) N
+#define LTTNG_UST___SDT_NARG(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12, N, ...) N
-#define _LTTNG_UST_SDT_PROBE_N(provider, name, N, ...) \
+#define LTTNG_UST__SDT_PROBE_N(provider, name, N, ...) \
_SDT_PROBE(provider, name, N, (__VA_ARGS__))
#define LTTNG_UST_STAP_PROBEV(provider, name, ...) \
- _LTTNG_UST_SDT_PROBE_N(provider, name, _LTTNG_UST_SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__)
+ LTTNG_UST__SDT_PROBE_N(provider, name, LTTNG_UST__SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__)
#else
#define LTTNG_UST_STAP_PROBEV(...)
#endif
#define lttng_ust_tracepoint_enabled(provider, name) \
- caa_unlikely(CMM_LOAD_SHARED(__tracepoint_##provider##___##name.state))
+ caa_unlikely(CMM_LOAD_SHARED(lttng_ust_tracepoint_##provider##___##name.state))
#define lttng_ust_do_tracepoint(provider, name, ...) \
- __tracepoint_cb_##provider##___##name(__VA_ARGS__)
+ lttng_ust_tracepoint_cb_##provider##___##name(__VA_ARGS__)
#define lttng_ust_tracepoint(provider, name, ...) \
do { \
* fine too).
* Each tuple is also separated by a comma.
*/
-#define __TP_COMBINE_TOKENS(_tokena, _tokenb) \
+#define LTTNG_UST___TP_COMBINE_TOKENS(_tokena, _tokenb) \
_tokena##_tokenb
-#define _TP_COMBINE_TOKENS(_tokena, _tokenb) \
- __TP_COMBINE_TOKENS(_tokena, _tokenb)
-#define __TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc) \
+#define LTTNG_UST__TP_COMBINE_TOKENS(_tokena, _tokenb) \
+ LTTNG_UST___TP_COMBINE_TOKENS(_tokena, _tokenb)
+#define LTTNG_UST___TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc) \
_tokena##_tokenb##_tokenc
-#define _TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc) \
- __TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc)
-#define __TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend) \
+#define LTTNG_UST__TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc) \
+ LTTNG_UST___TP_COMBINE_TOKENS3(_tokena, _tokenb, _tokenc)
+#define LTTNG_UST___TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend) \
_tokena##_tokenb##_tokenc##_tokend
-#define _TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend) \
- __TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend)
+#define LTTNG_UST__TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend) \
+ LTTNG_UST___TP_COMBINE_TOKENS4(_tokena, _tokenb, _tokenc, _tokend)
/*
- * _TP_EXVAR* extract the var names.
- * _TP_EXVAR1 and _TP_EXDATA_VAR1 are needed for -std=c99.
+ * LTTNG_UST__TP_EXVAR* extract the var names.
+ * LTTNG_UST__TP_EXVAR1 and LTTNG_UST__TP_EXDATA_VAR1 are needed for -std=c99.
*/
-#define _TP_EXVAR0()
-#define _TP_EXVAR1(a)
-#define _TP_EXVAR2(a,b) b
-#define _TP_EXVAR4(a,b,c,d) b,d
-#define _TP_EXVAR6(a,b,c,d,e,f) b,d,f
-#define _TP_EXVAR8(a,b,c,d,e,f,g,h) b,d,f,h
-#define _TP_EXVAR10(a,b,c,d,e,f,g,h,i,j) b,d,f,h,j
-#define _TP_EXVAR12(a,b,c,d,e,f,g,h,i,j,k,l) b,d,f,h,j,l
-#define _TP_EXVAR14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) b,d,f,h,j,l,n
-#define _TP_EXVAR16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) b,d,f,h,j,l,n,p
-#define _TP_EXVAR18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) b,d,f,h,j,l,n,p,r
-#define _TP_EXVAR20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) b,d,f,h,j,l,n,p,r,t
-
-#define _TP_EXDATA_VAR0() __tp_data
-#define _TP_EXDATA_VAR1(a) __tp_data
-#define _TP_EXDATA_VAR2(a,b) __tp_data,b
-#define _TP_EXDATA_VAR4(a,b,c,d) __tp_data,b,d
-#define _TP_EXDATA_VAR6(a,b,c,d,e,f) __tp_data,b,d,f
-#define _TP_EXDATA_VAR8(a,b,c,d,e,f,g,h) __tp_data,b,d,f,h
-#define _TP_EXDATA_VAR10(a,b,c,d,e,f,g,h,i,j) __tp_data,b,d,f,h,j
-#define _TP_EXDATA_VAR12(a,b,c,d,e,f,g,h,i,j,k,l) __tp_data,b,d,f,h,j,l
-#define _TP_EXDATA_VAR14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) __tp_data,b,d,f,h,j,l,n
-#define _TP_EXDATA_VAR16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) __tp_data,b,d,f,h,j,l,n,p
-#define _TP_EXDATA_VAR18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) __tp_data,b,d,f,h,j,l,n,p,r
-#define _TP_EXDATA_VAR20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) __tp_data,b,d,f,h,j,l,n,p,r,t
+#define LTTNG_UST__TP_EXVAR0()
+#define LTTNG_UST__TP_EXVAR1(a)
+#define LTTNG_UST__TP_EXVAR2(a,b) b
+#define LTTNG_UST__TP_EXVAR4(a,b,c,d) b,d
+#define LTTNG_UST__TP_EXVAR6(a,b,c,d,e,f) b,d,f
+#define LTTNG_UST__TP_EXVAR8(a,b,c,d,e,f,g,h) b,d,f,h
+#define LTTNG_UST__TP_EXVAR10(a,b,c,d,e,f,g,h,i,j) b,d,f,h,j
+#define LTTNG_UST__TP_EXVAR12(a,b,c,d,e,f,g,h,i,j,k,l) b,d,f,h,j,l
+#define LTTNG_UST__TP_EXVAR14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) b,d,f,h,j,l,n
+#define LTTNG_UST__TP_EXVAR16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) b,d,f,h,j,l,n,p
+#define LTTNG_UST__TP_EXVAR18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) b,d,f,h,j,l,n,p,r
+#define LTTNG_UST__TP_EXVAR20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) b,d,f,h,j,l,n,p,r,t
+
+#define LTTNG_UST__TP_EXDATA_VAR0() __tp_data
+#define LTTNG_UST__TP_EXDATA_VAR1(a) __tp_data
+#define LTTNG_UST__TP_EXDATA_VAR2(a,b) __tp_data,b
+#define LTTNG_UST__TP_EXDATA_VAR4(a,b,c,d) __tp_data,b,d
+#define LTTNG_UST__TP_EXDATA_VAR6(a,b,c,d,e,f) __tp_data,b,d,f
+#define LTTNG_UST__TP_EXDATA_VAR8(a,b,c,d,e,f,g,h) __tp_data,b,d,f,h
+#define LTTNG_UST__TP_EXDATA_VAR10(a,b,c,d,e,f,g,h,i,j) __tp_data,b,d,f,h,j
+#define LTTNG_UST__TP_EXDATA_VAR12(a,b,c,d,e,f,g,h,i,j,k,l) __tp_data,b,d,f,h,j,l
+#define LTTNG_UST__TP_EXDATA_VAR14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) __tp_data,b,d,f,h,j,l,n
+#define LTTNG_UST__TP_EXDATA_VAR16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) __tp_data,b,d,f,h,j,l,n,p
+#define LTTNG_UST__TP_EXDATA_VAR18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) __tp_data,b,d,f,h,j,l,n,p,r
+#define LTTNG_UST__TP_EXDATA_VAR20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) __tp_data,b,d,f,h,j,l,n,p,r,t
/*
- * _TP_EXPROTO* extract tuples of type, var.
- * _TP_EXPROTO1 and _TP_EXDATA_PROTO1 are needed for -std=c99.
+ * LTTNG_UST__TP_EXPROTO* extract tuples of type, var.
+ * LTTNG_UST__TP_EXPROTO1 and LTTNG_UST__TP_EXDATA_PROTO1 are needed for -std=c99.
*/
-#define _TP_EXPROTO0() void
-#define _TP_EXPROTO1(a) void
-#define _TP_EXPROTO2(a,b) a b
-#define _TP_EXPROTO4(a,b,c,d) a b,c d
-#define _TP_EXPROTO6(a,b,c,d,e,f) a b,c d,e f
-#define _TP_EXPROTO8(a,b,c,d,e,f,g,h) a b,c d,e f,g h
-#define _TP_EXPROTO10(a,b,c,d,e,f,g,h,i,j) a b,c d,e f,g h,i j
-#define _TP_EXPROTO12(a,b,c,d,e,f,g,h,i,j,k,l) a b,c d,e f,g h,i j,k l
-#define _TP_EXPROTO14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a b,c d,e f,g h,i j,k l,m n
-#define _TP_EXPROTO16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a b,c d,e f,g h,i j,k l,m n,o p
-#define _TP_EXPROTO18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) a b,c d,e f,g h,i j,k l,m n,o p,q r
-#define _TP_EXPROTO20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) a b,c d,e f,g h,i j,k l,m n,o p,q r,s t
-
-#define _TP_EXDATA_PROTO0() void *__tp_data
-#define _TP_EXDATA_PROTO1(a) void *__tp_data
-#define _TP_EXDATA_PROTO2(a,b) void *__tp_data,a b
-#define _TP_EXDATA_PROTO4(a,b,c,d) void *__tp_data,a b,c d
-#define _TP_EXDATA_PROTO6(a,b,c,d,e,f) void *__tp_data,a b,c d,e f
-#define _TP_EXDATA_PROTO8(a,b,c,d,e,f,g,h) void *__tp_data,a b,c d,e f,g h
-#define _TP_EXDATA_PROTO10(a,b,c,d,e,f,g,h,i,j) void *__tp_data,a b,c d,e f,g h,i j
-#define _TP_EXDATA_PROTO12(a,b,c,d,e,f,g,h,i,j,k,l) void *__tp_data,a b,c d,e f,g h,i j,k l
-#define _TP_EXDATA_PROTO14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) void *__tp_data,a b,c d,e f,g h,i j,k l,m n
-#define _TP_EXDATA_PROTO16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p
-#define _TP_EXDATA_PROTO18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p,q r
-#define _TP_EXDATA_PROTO20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p,q r,s t
+#define LTTNG_UST__TP_EXPROTO0() void
+#define LTTNG_UST__TP_EXPROTO1(a) void
+#define LTTNG_UST__TP_EXPROTO2(a,b) a b
+#define LTTNG_UST__TP_EXPROTO4(a,b,c,d) a b,c d
+#define LTTNG_UST__TP_EXPROTO6(a,b,c,d,e,f) a b,c d,e f
+#define LTTNG_UST__TP_EXPROTO8(a,b,c,d,e,f,g,h) a b,c d,e f,g h
+#define LTTNG_UST__TP_EXPROTO10(a,b,c,d,e,f,g,h,i,j) a b,c d,e f,g h,i j
+#define LTTNG_UST__TP_EXPROTO12(a,b,c,d,e,f,g,h,i,j,k,l) a b,c d,e f,g h,i j,k l
+#define LTTNG_UST__TP_EXPROTO14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a b,c d,e f,g h,i j,k l,m n
+#define LTTNG_UST__TP_EXPROTO16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a b,c d,e f,g h,i j,k l,m n,o p
+#define LTTNG_UST__TP_EXPROTO18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) a b,c d,e f,g h,i j,k l,m n,o p,q r
+#define LTTNG_UST__TP_EXPROTO20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) a b,c d,e f,g h,i j,k l,m n,o p,q r,s t
+
+#define LTTNG_UST__TP_EXDATA_PROTO0() void *__tp_data
+#define LTTNG_UST__TP_EXDATA_PROTO1(a) void *__tp_data
+#define LTTNG_UST__TP_EXDATA_PROTO2(a,b) void *__tp_data,a b
+#define LTTNG_UST__TP_EXDATA_PROTO4(a,b,c,d) void *__tp_data,a b,c d
+#define LTTNG_UST__TP_EXDATA_PROTO6(a,b,c,d,e,f) void *__tp_data,a b,c d,e f
+#define LTTNG_UST__TP_EXDATA_PROTO8(a,b,c,d,e,f,g,h) void *__tp_data,a b,c d,e f,g h
+#define LTTNG_UST__TP_EXDATA_PROTO10(a,b,c,d,e,f,g,h,i,j) void *__tp_data,a b,c d,e f,g h,i j
+#define LTTNG_UST__TP_EXDATA_PROTO12(a,b,c,d,e,f,g,h,i,j,k,l) void *__tp_data,a b,c d,e f,g h,i j,k l
+#define LTTNG_UST__TP_EXDATA_PROTO14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) void *__tp_data,a b,c d,e f,g h,i j,k l,m n
+#define LTTNG_UST__TP_EXDATA_PROTO16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p
+#define LTTNG_UST__TP_EXDATA_PROTO18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p,q r
+#define LTTNG_UST__TP_EXDATA_PROTO20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) void *__tp_data,a b,c d,e f,g h,i j,k l,m n,o p,q r,s t
/* Preprocessor trick to count arguments. Inspired from sdt.h. */
-#define _TP_NARGS(...) __TP_NARGS(__VA_ARGS__, 20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
-#define __TP_NARGS(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20, N, ...) N
-#define _TP_PROTO_N(N, ...) _TP_PARAMS(_TP_COMBINE_TOKENS(_TP_EXPROTO, N)(__VA_ARGS__))
-#define _TP_VAR_N(N, ...) _TP_PARAMS(_TP_COMBINE_TOKENS(_TP_EXVAR, N)(__VA_ARGS__))
-#define _TP_DATA_PROTO_N(N, ...) _TP_PARAMS(_TP_COMBINE_TOKENS(_TP_EXDATA_PROTO, N)(__VA_ARGS__))
-#define _TP_DATA_VAR_N(N, ...) _TP_PARAMS(_TP_COMBINE_TOKENS(_TP_EXDATA_VAR, N)(__VA_ARGS__))
-#define _TP_ARGS_PROTO(...) _TP_PROTO_N(_TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
-#define _TP_ARGS_VAR(...) _TP_VAR_N(_TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
-#define _TP_ARGS_DATA_PROTO(...) _TP_DATA_PROTO_N(_TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
-#define _TP_ARGS_DATA_VAR(...) _TP_DATA_VAR_N(_TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
-#define _TP_PARAMS(...) __VA_ARGS__
+#define LTTNG_UST__TP_NARGS(...) LTTNG_UST___TP_NARGS(__VA_ARGS__, 20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
+#define LTTNG_UST___TP_NARGS(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20, N, ...) N
+#define LTTNG_UST__TP_PROTO_N(N, ...) LTTNG_UST__TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXPROTO, N)(__VA_ARGS__))
+#define LTTNG_UST__TP_VAR_N(N, ...) LTTNG_UST__TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXVAR, N)(__VA_ARGS__))
+#define LTTNG_UST__TP_DATA_PROTO_N(N, ...) LTTNG_UST__TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXDATA_PROTO, N)(__VA_ARGS__))
+#define LTTNG_UST__TP_DATA_VAR_N(N, ...) LTTNG_UST__TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXDATA_VAR, N)(__VA_ARGS__))
+#define LTTNG_UST__TP_ARGS_PROTO(...) LTTNG_UST__TP_PROTO_N(LTTNG_UST__TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
+#define LTTNG_UST__TP_ARGS_VAR(...) LTTNG_UST__TP_VAR_N(LTTNG_UST__TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
+#define LTTNG_UST__TP_ARGS_DATA_PROTO(...) LTTNG_UST__TP_DATA_PROTO_N(LTTNG_UST__TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
+#define LTTNG_UST__TP_ARGS_DATA_VAR(...) LTTNG_UST__TP_DATA_VAR_N(LTTNG_UST__TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
+#define LTTNG_UST__TP_PARAMS(...) __VA_ARGS__
/*
* sizeof(#_provider) - 1 : length of the provider string (excluding \0).
* address.
*/
#define LTTNG_UST__DECLARE_TRACEPOINT(_provider, _name, ...) \
-extern struct lttng_ust_tracepoint __tracepoint_##_provider##___##_name; \
+extern struct lttng_ust_tracepoint lttng_ust_tracepoint_##_provider##___##_name; \
static inline \
-void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)) \
+void lttng_ust_tracepoint_cb_##_provider##___##_name(LTTNG_UST__TP_ARGS_PROTO(__VA_ARGS__)) \
__attribute__((always_inline, unused)) lttng_ust_notrace; \
static \
-void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)) \
+void lttng_ust_tracepoint_cb_##_provider##___##_name(LTTNG_UST__TP_ARGS_PROTO(__VA_ARGS__)) \
{ \
struct lttng_ust_tracepoint_probe *__tp_probe; \
\
if (caa_unlikely(!TP_RCU_LINK_TEST())) \
return; \
tp_rcu_read_lock(); \
- __tp_probe = tp_rcu_dereference(__tracepoint_##_provider##___##_name.probes); \
+ __tp_probe = tp_rcu_dereference(lttng_ust_tracepoint_##_provider##___##_name.probes); \
if (caa_unlikely(!__tp_probe)) \
goto end; \
do { \
void (*__tp_cb)(void) = __tp_probe->func; \
void *__tp_data = __tp_probe->data; \
\
- URCU_FORCE_CAST(void (*)(_TP_ARGS_DATA_PROTO(__VA_ARGS__)), __tp_cb) \
- (_TP_ARGS_DATA_VAR(__VA_ARGS__)); \
+ URCU_FORCE_CAST(void (*)(LTTNG_UST__TP_ARGS_DATA_PROTO(__VA_ARGS__)), __tp_cb) \
+ (LTTNG_UST__TP_ARGS_DATA_VAR(__VA_ARGS__)); \
} while ((++__tp_probe)->func); \
end: \
tp_rcu_read_unlock(); \
} \
static inline \
-void __tracepoint_register_##_provider##___##_name(char *provider_name, char *event_name, \
+void lttng_ust_tracepoint_register_##_provider##___##_name(char *provider_name, char *event_name, \
void (*func)(void), void *data) \
lttng_ust_notrace; \
static inline \
-void __tracepoint_register_##_provider##___##_name(char *provider_name, char *event_name, \
+void lttng_ust_tracepoint_register_##_provider##___##_name(char *provider_name, char *event_name, \
void (*func)(void), void *data) \
{ \
- __tracepoint_probe_register(provider_name, event_name, func, data, \
- __tracepoint_##_provider##___##_name.signature); \
+ lttng_ust_tracepoint_probe_register(provider_name, event_name, func, data, \
+ lttng_ust_tracepoint_##_provider##___##_name.signature); \
} \
static inline \
-void __tracepoint_unregister_##_provider##___##_name(char *provider_name, char *event_name, \
+void lttng_ust_tracepoint_unregister_##_provider##___##_name(char *provider_name, char *event_name, \
void (*func)(void), void *data) \
lttng_ust_notrace; \
static inline \
-void __tracepoint_unregister_##_provider##___##_name(char *provider_name, char *event_name, \
+void lttng_ust_tracepoint_unregister_##_provider##___##_name(char *provider_name, char *event_name, \
void (*func)(void), void *data) \
{ \
- __tracepoint_probe_unregister(provider_name, event_name, func, data); \
+ lttng_ust_tracepoint_probe_unregister(provider_name, event_name, func, data); \
}
-extern int __tracepoint_probe_register(const char *provider_name, const char *event_name,
+extern int lttng_ust_tracepoint_probe_register(const char *provider_name, const char *event_name,
void (*func)(void), void *data, const char *signature);
-extern int __tracepoint_probe_unregister(const char *provider_name, const char *event_name,
+extern int lttng_ust_tracepoint_probe_unregister(const char *provider_name, const char *event_name,
void (*func)(void), void *data);
/*
void *liblttngust_handle;
- int (*tracepoint_register_lib)(struct lttng_ust_tracepoint * const *tracepoints_start,
+ int (*lttng_ust_tracepoint_register_lib)(struct lttng_ust_tracepoint * const *tracepoints_start,
int tracepoints_count);
- int (*tracepoint_unregister_lib)(struct lttng_ust_tracepoint * const *tracepoints_start);
+ int (*lttng_ust_tracepoint_unregister_lib)(struct lttng_ust_tracepoint * const *tracepoints_start);
void (*rcu_read_lock_sym)(void);
void (*rcu_read_unlock_sym)(void);
void *(*rcu_dereference_sym)(void *p);
* registering only _one_ instance of the tracepoints per shared-ojbect
* (or for the whole main program).
*/
-int __tracepoint_registered
+int lttng_ust_tracepoint_registered
__attribute__((weak, visibility("hidden")));
-int __tracepoint_ptrs_registered
+int lttng_ust_tracepoint_ptrs_registered
__attribute__((weak, visibility("hidden")));
struct lttng_ust_tracepoint_dlopen lttng_ust_tracepoint_dlopen
__attribute__((weak, visibility("hidden"))) = {
#ifndef _LGPL_SOURCE
static inline void
-__tracepoint__init_urcu_sym(void)
+lttng_ust_tracepoint__init_urcu_sym(void)
lttng_ust_notrace;
static inline void
-__tracepoint__init_urcu_sym(void)
+lttng_ust_tracepoint__init_urcu_sym(void)
{
if (!lttng_ust_tracepoint_dlopen_ptr)
lttng_ust_tracepoint_dlopen_ptr = <tng_ust_tracepoint_dlopen;
}
#else
static inline void
-__tracepoint__init_urcu_sym(void)
+lttng_ust_tracepoint__init_urcu_sym(void)
lttng_ust_notrace;
static inline void
-__tracepoint__init_urcu_sym(void)
+lttng_ust_tracepoint__init_urcu_sym(void)
{
}
#endif
static void
-__tracepoints__init(void)
+lttng_ust__tracepoints__init(void)
lttng_ust_notrace __attribute__((constructor));
static void
-__tracepoints__init(void)
+lttng_ust__tracepoints__init(void)
{
- if (__tracepoint_registered++) {
+ if (lttng_ust_tracepoint_registered++) {
if (!lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle)
return;
- __tracepoint__init_urcu_sym();
+ lttng_ust_tracepoint__init_urcu_sym();
return;
}
dlopen(LTTNG_UST_TRACEPOINT_LIB_SONAME, RTLD_NOW | RTLD_GLOBAL);
if (!lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle)
return;
- __tracepoint__init_urcu_sym();
+ lttng_ust_tracepoint__init_urcu_sym();
}
static void
-__tracepoints__destroy(void)
+lttng_ust__tracepoints__destroy(void)
lttng_ust_notrace __attribute__((destructor));
static void
-__tracepoints__destroy(void)
+lttng_ust__tracepoints__destroy(void)
{
int ret;
- if (--__tracepoint_registered)
+ if (--lttng_ust_tracepoint_registered)
return;
if (!lttng_ust_tracepoint_dlopen_ptr)
lttng_ust_tracepoint_dlopen_ptr = <tng_ust_tracepoint_dlopen;
lttng_ust_tracepoint_destructors_syms_ptr = <tng_ust_tracepoint_destructors_syms;
if (!lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle)
return;
- if (__tracepoint_ptrs_registered)
+ if (lttng_ust_tracepoint_ptrs_registered)
return;
/*
* Lookup if destructors must be executed using the new method.
* registering only _one_ instance of the tracepoints per shared-ojbect
* (or for the whole main program).
*/
-extern struct lttng_ust_tracepoint * const __start___tracepoints_ptrs[]
+extern struct lttng_ust_tracepoint * const __start_lttng_ust_tracepoints_ptrs[]
__attribute__((weak, visibility("hidden")));
-extern struct lttng_ust_tracepoint * const __stop___tracepoints_ptrs[]
+extern struct lttng_ust_tracepoint * const __stop_lttng_ust_tracepoints_ptrs[]
__attribute__((weak, visibility("hidden")));
/*
- * When TRACEPOINT_PROBE_DYNAMIC_LINKAGE is defined, we do not emit a
+ * When LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE is defined, we do not emit a
* unresolved symbol that requires the provider to be linked in. When
- * TRACEPOINT_PROBE_DYNAMIC_LINKAGE is not defined, we emit an
+ * LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE is not defined, we emit an
* unresolved symbol that depends on having the provider linked in,
* otherwise the linker complains. This deals with use of static
* libraries, ensuring that the linker does not remove the provider
* object from the executable.
*/
-#ifdef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#define _TRACEPOINT_UNDEFINED_REF(provider) NULL
-#else /* TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
-#define _TRACEPOINT_UNDEFINED_REF(provider) &__tracepoint_provider_##provider
-#endif /* TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
+
+#if LTTNG_UST_COMPAT_API(0)
+# if defined(TRACEPOINT_PROBE_DYNAMIC_LINKAGE) && !defined(LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE)
+# define LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+# endif
+#endif /* #if LTTNG_UST_COMPAT_API(0) */
+
+#ifdef LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#define LTTNG_UST__TRACEPOINT_UNDEFINED_REF(provider) NULL
+#else /* LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
+#define LTTNG_UST__TRACEPOINT_UNDEFINED_REF(provider) <tng_ust_tracepoint_provider_##provider
+#endif /* LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
/*
* Note: to allow PIC code, we need to allow the linker to update the pointers
- * in the __tracepoints_ptrs section.
+ * in the lttng_ust_tracepoints_ptrs section.
* Therefore, this section is _not_ const (read-only).
*/
-#define _TP_EXTRACT_STRING(...) #__VA_ARGS__
+#define LTTNG_UST__TP_EXTRACT_STRING(...) #__VA_ARGS__
#define LTTNG_UST__DEFINE_TRACEPOINT(_provider, _name, _args) \
lttng_ust_tracepoint_validate_name_len(_provider, _name); \
- extern int __tracepoint_provider_##_provider; \
- static const char __tp_provider_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ extern int lttng_ust_tracepoint_provider_##_provider; \
+ static const char lttng_ust_tp_provider_strtab_##_provider##___##_name[] \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_provider; \
- static const char __tp_name_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ static const char lttng_ust_tp_name_strtab_##_provider##___##_name[] \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_name; \
- struct lttng_ust_tracepoint __tracepoint_##_provider##___##_name \
- __attribute__((section("__tracepoints"))) = { \
+ struct lttng_ust_tracepoint lttng_ust_tracepoint_##_provider##___##_name \
+ __attribute__((section("lttng_ust_tracepoints"))) = { \
sizeof(struct lttng_ust_tracepoint), \
- __tp_provider_strtab_##_provider##___##_name, \
- __tp_name_strtab_##_provider##___##_name, \
+ lttng_ust_tp_provider_strtab_##_provider##___##_name, \
+ lttng_ust_tp_name_strtab_##_provider##___##_name, \
0, \
NULL, \
- _TRACEPOINT_UNDEFINED_REF(_provider), \
- _TP_EXTRACT_STRING(_args), \
+ LTTNG_UST__TRACEPOINT_UNDEFINED_REF(_provider), \
+ LTTNG_UST__TP_EXTRACT_STRING(_args), \
}; \
static struct lttng_ust_tracepoint * \
- __tracepoint_ptr_##_provider##___##_name \
- __attribute__((section("__tracepoints_ptrs"), used)) \
+ lttng_ust_tracepoint_ptr_##_provider##___##_name \
+ __attribute__((section("lttng_ust_tracepoints_ptrs"), used)) \
__lttng_ust_variable_attribute_no_sanitize_address = \
- &__tracepoint_##_provider##___##_name;
+ <tng_ust_tracepoint_##_provider##___##_name;
static void
-__tracepoints__ptrs_init(void)
+lttng_ust__tracepoints__ptrs_init(void)
lttng_ust_notrace __attribute__((constructor));
static void
-__tracepoints__ptrs_init(void)
+lttng_ust__tracepoints__ptrs_init(void)
{
- if (__tracepoint_ptrs_registered++)
+ if (lttng_ust_tracepoint_ptrs_registered++)
return;
if (!lttng_ust_tracepoint_dlopen_ptr)
lttng_ust_tracepoint_dlopen_ptr = <tng_ust_tracepoint_dlopen;
return;
if (!lttng_ust_tracepoint_destructors_syms_ptr)
lttng_ust_tracepoint_destructors_syms_ptr = <tng_ust_tracepoint_destructors_syms;
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib =
+ lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_register_lib =
URCU_FORCE_CAST(int (*)(struct lttng_ust_tracepoint * const *, int),
dlsym(lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle,
- "tracepoint_register_lib"));
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib =
+ "lttng_ust_tracepoint_register_lib"));
+ lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_unregister_lib =
URCU_FORCE_CAST(int (*)(struct lttng_ust_tracepoint * const *),
dlsym(lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle,
- "tracepoint_unregister_lib"));
+ "lttng_ust_tracepoint_unregister_lib"));
lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_disable_destructors =
URCU_FORCE_CAST(void (*)(void),
dlsym(lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle,
- "tp_disable_destructors"));
+ "lttng_ust_tp_disable_destructors"));
lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_get_destructors_state =
URCU_FORCE_CAST(int (*)(void),
dlsym(lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle,
- "tp_get_destructors_state"));
- __tracepoint__init_urcu_sym();
- if (lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib) {
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib(__start___tracepoints_ptrs,
- __stop___tracepoints_ptrs -
- __start___tracepoints_ptrs);
+ "lttng_ust_tp_get_destructors_state"));
+ lttng_ust_tracepoint__init_urcu_sym();
+ if (lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_register_lib) {
+ lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_register_lib(__start_lttng_ust_tracepoints_ptrs,
+ __stop_lttng_ust_tracepoints_ptrs -
+ __start_lttng_ust_tracepoints_ptrs);
}
}
static void
-__tracepoints__ptrs_destroy(void)
+lttng_ust__tracepoints__ptrs_destroy(void)
lttng_ust_notrace __attribute__((destructor));
static void
-__tracepoints__ptrs_destroy(void)
+lttng_ust__tracepoints__ptrs_destroy(void)
{
int ret;
- if (--__tracepoint_ptrs_registered)
+ if (--lttng_ust_tracepoint_ptrs_registered)
return;
if (!lttng_ust_tracepoint_dlopen_ptr)
lttng_ust_tracepoint_dlopen_ptr = <tng_ust_tracepoint_dlopen;
if (!lttng_ust_tracepoint_destructors_syms_ptr)
lttng_ust_tracepoint_destructors_syms_ptr = <tng_ust_tracepoint_destructors_syms;
- if (lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib)
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib(__start___tracepoints_ptrs);
+ if (lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_unregister_lib)
+ lttng_ust_tracepoint_dlopen_ptr->lttng_ust_tracepoint_unregister_lib(__start_lttng_ust_tracepoints_ptrs);
if (lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle
&& lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_get_destructors_state
&& lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_get_destructors_state()
- && !__tracepoint_ptrs_registered) {
+ && !lttng_ust_tracepoint_ptrs_registered) {
ret = dlclose(lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle);
if (ret) {
fprintf(stderr, "Error (%d) in dlclose\n", ret);
*/
#define LTTNG_UST_TRACEPOINT_EVENT(provider, name, args, fields) \
- LTTNG_UST__DECLARE_TRACEPOINT(provider, name, _TP_PARAMS(args)) \
- LTTNG_UST__DEFINE_TRACEPOINT(provider, name, _TP_PARAMS(args))
+ LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
+ LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
#define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(provider, _template, name, args) \
- LTTNG_UST__DECLARE_TRACEPOINT(provider, name, _TP_PARAMS(args)) \
- LTTNG_UST__DEFINE_TRACEPOINT(provider, name, _TP_PARAMS(args))
+ LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
+ LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
#if LTTNG_UST_COMPAT_API(0)
#define TRACEPOINT_EVENT LTTNG_UST_TRACEPOINT_EVENT