arm64: Fix static use of function graph
Function graph does not work currently when CONFIG_DYNAMIC_TRACE is not set. This is because ftrace_function_trace is not always set to ftrace_stub when function_graph is in use. Do not skip checking of graph tracer functions when ftrace_function_trace is set. Signed-off-by: Julien Thierry <julien.thierry@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Reviewed-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
a92d4d1454
commit
d125bffcef
|
@ -108,13 +108,8 @@ ENTRY(_mcount)
|
|||
mcount_get_lr x1 // function's lr (= parent's pc)
|
||||
blr x2 // (*ftrace_trace_function)(pc, lr);
|
||||
|
||||
#ifndef CONFIG_FUNCTION_GRAPH_TRACER
|
||||
skip_ftrace_call: // return;
|
||||
mcount_exit // }
|
||||
#else
|
||||
mcount_exit // return;
|
||||
// }
|
||||
skip_ftrace_call:
|
||||
skip_ftrace_call: // }
|
||||
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
|
||||
ldr_l x2, ftrace_graph_return
|
||||
cmp x0, x2 // if ((ftrace_graph_return
|
||||
b.ne ftrace_graph_caller // != ftrace_stub)
|
||||
|
@ -123,9 +118,8 @@ skip_ftrace_call:
|
|||
adr_l x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub))
|
||||
cmp x0, x2
|
||||
b.ne ftrace_graph_caller // ftrace_graph_caller();
|
||||
|
||||
mcount_exit
|
||||
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
|
||||
mcount_exit
|
||||
ENDPROC(_mcount)
|
||||
|
||||
#else /* CONFIG_DYNAMIC_FTRACE */
|
||||
|
|
Loading…
Reference in a new issue