X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint.h;h=e1de626cc6b54ff5db9f7935099b99c24017f4c2;hb=a8909ba54718ed54cefb1b839a5d41a065df09f9;hp=5bab476b86485a112c98a5ab433fa13ec88cca7d;hpb=fbdeb5ecb8ff9b7d73a72de9fc66d07f7797d93f;p=lttng-ust.git diff --git a/include/lttng/tracepoint.h b/include/lttng/tracepoint.h index 5bab476b..e1de626c 100644 --- a/include/lttng/tracepoint.h +++ b/include/lttng/tracepoint.h @@ -22,6 +22,7 @@ #include /* for memset */ #include #include /* for sdt */ +#include #ifdef LTTNG_UST_HAVE_SDT_INTEGRATION #define SDT_USE_VARIADIC @@ -137,7 +138,10 @@ extern "C" { #define _DECLARE_TRACEPOINT(_provider, _name, ...) \ extern struct tracepoint __tracepoint_##_provider##___##_name; \ -static inline void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)) \ +static inline lttng_ust_notrace \ +void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)); \ +static inline \ +void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)) \ { \ struct tracepoint_probe *__tp_probe; \ \ @@ -157,14 +161,22 @@ static inline void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_A end: \ tp_rcu_read_unlock_bp(); \ } \ -static inline void __tracepoint_register_##_provider##___##_name(char *name, \ - void (*func)(void), void *data) \ +static inline lttng_ust_notrace \ +void __tracepoint_register_##_provider##___##_name(char *name, \ + void (*func)(void), void *data); \ +static inline \ +void __tracepoint_register_##_provider##___##_name(char *name, \ + void (*func)(void), void *data) \ { \ __tracepoint_probe_register(name, func, data, \ __tracepoint_##_provider##___##_name.signature); \ } \ -static inline void __tracepoint_unregister_##_provider##___##_name(char *name, \ - void (*func)(void), void *data) \ +static inline lttng_ust_notrace \ +void __tracepoint_unregister_##_provider##___##_name(char *name, \ + void (*func)(void), void *data); \ +static inline \ +void __tracepoint_unregister_##_provider##___##_name(char *name, \ + void (*func)(void), void *data) \ { \ __tracepoint_probe_unregister(name, func, data); \ } @@ -249,7 +261,10 @@ int __tracepoint_registered struct tracepoint_dlopen tracepoint_dlopen __attribute__((weak, visibility("hidden"))); -static void __attribute__((constructor)) __tracepoints__init(void) +static void lttng_ust_notrace __attribute__((constructor)) +__tracepoints__init(void); +static void +__tracepoints__init(void) { if (__tracepoint_registered++) return; @@ -285,7 +300,10 @@ static void __attribute__((constructor)) __tracepoints__init(void) __start___tracepoints_ptrs); } -static void __attribute__((destructor)) __tracepoints__destroy(void) +static void lttng_ust_notrace __attribute__((destructor)) +__tracepoints__destroy(void); +static void +__tracepoints__destroy(void) { int ret;