Setting libapi debug output functions to use perf functions. Link: http://lkml.kernel.org/n/tip-apyen6qfzzwkqjhi1tzv7...@git.kernel.org Signed-off-by: Jiri Olsa <jo...@kernel.org> --- tools/perf/perf.c | 2 ++ tools/perf/util/debug.c | 21 +++++++++++++++++++++ tools/perf/util/debug.h | 1 + 3 files changed, 24 insertions(+)
diff --git a/tools/perf/perf.c b/tools/perf/perf.c index a929618b8eb6..144047c396f0 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -613,6 +613,8 @@ int main(int argc, const char **argv) */ pthread__block_sigwinch(); + perf_debug_setup(); + while (1) { static int done_help; int was_alias = run_argv(&argc, &argv); diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c index 86d9c7302598..152c2e32975f 100644 --- a/tools/perf/util/debug.c +++ b/tools/perf/util/debug.c @@ -5,6 +5,7 @@ #include <string.h> #include <stdarg.h> #include <stdio.h> +#include <api/debug.h> #include "cache.h" #include "color.h" @@ -192,3 +193,23 @@ int perf_debug_option(const char *str) free(s); return 0; } + +#define FUNC(__n, __l) \ +static int pr_ ## __n ## _func(const char *fmt, ...) \ +{ \ + va_list args; \ + int ret; \ + \ + va_start(args, fmt); \ + ret = _eprintf(__l, verbose, fmt, args); \ + va_end(args); \ + return ret; \ +} + +FUNC(warning, 0); +FUNC(debug, 1); + +void perf_debug_setup(void) +{ + libapi_set_print(pr_warning_func, pr_warning_func, pr_debug_func); +} diff --git a/tools/perf/util/debug.h b/tools/perf/util/debug.h index 8b9a088c32ab..14bafda79eda 100644 --- a/tools/perf/util/debug.h +++ b/tools/perf/util/debug.h @@ -53,5 +53,6 @@ int eprintf_time(int level, int var, u64 t, const char *fmt, ...) __attribute__( int veprintf(int level, int var, const char *fmt, va_list args); int perf_debug_option(const char *str); +void perf_debug_setup(void); #endif /* __PERF_DEBUG_H */ -- 2.4.3