tracing: Fix selftest config check for function graph start up test

There's a new test in trace_selftest_startup_function_graph() that
requires the use of ftrace args being supported as well does some tricks
with dynamic tracing. Although this code checks HAVE_DYNAMIC_FTRACE_WITH_ARGS
it fails to check DYNAMIC_FTRACE, and the kernel fails to build due to
that dependency.

Also only define the prototype of trace_direct_tramp() if it is used.

Link: https://lkml.kernel.org/r/20211021134357.7f48e173@gandalf.local.home

Acked-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt (VMware) 2021-10-21 13:43:57 -04:00
parent 130c080658
commit 4e341cad6b

View File

@ -784,7 +784,11 @@ static struct fgraph_ops fgraph_ops __initdata = {
.retfunc = &trace_graph_return,
};
#if defined(CONFIG_DYNAMIC_FTRACE) && \
defined(CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS)
#define TEST_DIRECT_TRAMP
noinline __noclone static void trace_direct_tramp(void) { }
#endif
/*
* Pretty much the same than for the function tracer from which the selftest
@ -845,7 +849,7 @@ trace_selftest_startup_function_graph(struct tracer *trace,
goto out;
}
#ifdef CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS
#ifdef TEST_DIRECT_TRAMP
tracing_reset_online_cpus(&tr->array_buffer);
set_graph_array(tr);