#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(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXPROTO, N)(__VA_ARGS__))
-#define _TP_VAR_N(N, ...) _TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXVAR, N)(__VA_ARGS__))
-#define _TP_DATA_PROTO_N(N, ...) _TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__TP_EXDATA_PROTO, N)(__VA_ARGS__))
-#define _TP_DATA_VAR_N(N, ...) _TP_PARAMS(LTTNG_UST__TP_COMBINE_TOKENS(LTTNG_UST__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).
#define LTTNG_UST__DECLARE_TRACEPOINT(_provider, _name, ...) \
extern struct lttng_ust_tracepoint lttng_ust_tracepoint_##_provider##___##_name; \
static inline \
-void lttng_ust_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 lttng_ust_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; \
\
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(); \
#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 (lttng_ust_tracepoint_registered++) {
if (!lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle)
}
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;
* 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")));
/*
/*
* 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__
lttng_ust_tracepoint_validate_name_len(_provider, _name); \
extern int lttng_ust_tracepoint_provider_##_provider; \
static const char __tp_provider_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_provider; \
static const char __tp_name_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_name; \
struct lttng_ust_tracepoint lttng_ust_tracepoint_##_provider##___##_name \
- __attribute__((section("__tracepoints"))) = { \
+ __attribute__((section("lttng_ust_tracepoints"))) = { \
sizeof(struct lttng_ust_tracepoint), \
__tp_provider_strtab_##_provider##___##_name, \
__tp_name_strtab_##_provider##___##_name, \
}; \
static struct lttng_ust_tracepoint * \
lttng_ust_tracepoint_ptr_##_provider##___##_name \
- __attribute__((section("__tracepoints_ptrs"), used)) \
+ __attribute__((section("lttng_ust_tracepoints_ptrs"), used)) \
__lttng_ust_variable_attribute_no_sanitize_address = \
<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 (lttng_ust_tracepoint_ptrs_registered++)
return;
"tp_get_destructors_state"));
lttng_ust_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_tracepoint_dlopen_ptr->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 (!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);
+ lttng_ust_tracepoint_dlopen_ptr->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()
*/
#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