* to a printf
*/
+#include <stdio.h>
+
/*
* Stage 1. Create a struct and a printf calling function
* that is connected to the tracepoint at load time.
\
printf(print); \
} \
+ static inline int register_event_##name(void *data) \
+ { \
+ return register_trace_##name(trace_printf_##name, data); \
+ } \
+ static inline int unregister_event_##name(void *data) \
+ { \
+ return unregister_trace_##name(trace_printf_##name, data); \
+ } \
+ struct trace_event __event_##name = { \
+ __tpstrtab_##name, \
+ register_event_##name, \
+ unregister_event_##name \
+ }; \
+ static struct trace_event * const __event_ptrs_##name \
+ __attribute__((used, section("__trace_events_ptrs"))) = \
+ &__event_##name; \
+ \
static void __attribute__((constructor)) init_##name() \
{ \
- void *dummy; \
- printf("connecting tracepoint " #name "\n"); \
+ void *dummy = NULL; \
register_trace_##name(trace_printf_##name, dummy); \
}