Commit d125bffc authored by Julien Thierry's avatar Julien Thierry Committed by Will Deacon

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: default avatarJulien 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: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: default avatarAKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent a92d4d14
...@@ -108,13 +108,8 @@ ENTRY(_mcount) ...@@ -108,13 +108,8 @@ ENTRY(_mcount)
mcount_get_lr x1 // function's lr (= parent's pc) mcount_get_lr x1 // function's lr (= parent's pc)
blr x2 // (*ftrace_trace_function)(pc, lr); blr x2 // (*ftrace_trace_function)(pc, lr);
#ifndef CONFIG_FUNCTION_GRAPH_TRACER skip_ftrace_call: // }
skip_ftrace_call: // return; #ifdef CONFIG_FUNCTION_GRAPH_TRACER
mcount_exit // }
#else
mcount_exit // return;
// }
skip_ftrace_call:
ldr_l x2, ftrace_graph_return ldr_l x2, ftrace_graph_return
cmp x0, x2 // if ((ftrace_graph_return cmp x0, x2 // if ((ftrace_graph_return
b.ne ftrace_graph_caller // != ftrace_stub) b.ne ftrace_graph_caller // != ftrace_stub)
...@@ -123,9 +118,8 @@ skip_ftrace_call: ...@@ -123,9 +118,8 @@ skip_ftrace_call:
adr_l x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub)) adr_l x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub))
cmp x0, x2 cmp x0, x2
b.ne ftrace_graph_caller // ftrace_graph_caller(); b.ne ftrace_graph_caller // ftrace_graph_caller();
mcount_exit
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */ #endif /* CONFIG_FUNCTION_GRAPH_TRACER */
mcount_exit
ENDPROC(_mcount) ENDPROC(_mcount)
#else /* CONFIG_DYNAMIC_FTRACE */ #else /* CONFIG_DYNAMIC_FTRACE */
......
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