X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ftracelog.h;h=f20099413c4bf718de2086af9f53ce4015294146;hb=612e9ce4e5cc3a1292522a563789f6aab6c421b1;hp=4dfb9d3615c81fd9dc70bea086311b5e5e41d261;hpb=b15c4010a54a79e955d82b46826d14c882276669;p=lttng-ust.git diff --git a/include/lttng/tracelog.h b/include/lttng/tracelog.h index 4dfb9d36..f2009941 100644 --- a/include/lttng/tracelog.h +++ b/include/lttng/tracelog.h @@ -15,39 +15,43 @@ extern "C" { #define TP_TRACELOG_CB_TEMPLATE(level) \ extern void _lttng_ust_tracelog_##level(const char *file, \ - int line, const char *func, const char *fmt, ...); \ + int line, const char *func, const char *fmt, ...) \ + __attribute__ ((format(printf, 4, 5))); \ + \ extern void _lttng_ust_vtracelog_##level(const char *file, \ - int line, const char *func, const char *fmt, va_list ap); - -TP_TRACELOG_CB_TEMPLATE(TRACE_EMERG); -TP_TRACELOG_CB_TEMPLATE(TRACE_ALERT); -TP_TRACELOG_CB_TEMPLATE(TRACE_CRIT); -TP_TRACELOG_CB_TEMPLATE(TRACE_ERR); -TP_TRACELOG_CB_TEMPLATE(TRACE_WARNING); -TP_TRACELOG_CB_TEMPLATE(TRACE_NOTICE); -TP_TRACELOG_CB_TEMPLATE(TRACE_INFO); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_SYSTEM); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROGRAM); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROCESS); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_MODULE); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_UNIT); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_FUNCTION); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_LINE); -TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG); + int line, const char *func, const char *fmt, \ + va_list ap) \ + __attribute__ ((format(printf, 4, 0))); + +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE); +TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG); #undef TP_TRACELOG_CB_TEMPLATE #define tracelog(level, fmt, ...) \ do { \ - LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \ - if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \ + LTTNG_UST_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \ + if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \ _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \ fmt, ## __VA_ARGS__); \ } while (0) #define vtracelog(level, fmt, ap) \ do { \ - if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \ + if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \ _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \ fmt, ap); \ } while (0)