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.homeAcked-by: default avatarJiri Olsa <jolsa@redhat.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 130c0806
...@@ -784,7 +784,11 @@ static struct fgraph_ops fgraph_ops __initdata = { ...@@ -784,7 +784,11 @@ static struct fgraph_ops fgraph_ops __initdata = {
.retfunc = &trace_graph_return, .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) { } noinline __noclone static void trace_direct_tramp(void) { }
#endif
/* /*
* Pretty much the same than for the function tracer from which the selftest * 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, ...@@ -845,7 +849,7 @@ trace_selftest_startup_function_graph(struct tracer *trace,
goto out; goto out;
} }
#ifdef CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS #ifdef TEST_DIRECT_TRAMP
tracing_reset_online_cpus(&tr->array_buffer); tracing_reset_online_cpus(&tr->array_buffer);
set_graph_array(tr); set_graph_array(tr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment