diff options
author | Sumit Garg <sumit.garg@linaro.org> | 2021-10-11 18:20:59 +0530 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-10-12 09:24:49 +0100 |
commit | de56379f21c70196ff18c48790e8e43865893869 (patch) | |
tree | 9d9eb433f2d9932e955442aa2701adcf99fa9e7d /tools/perf/util/c++/clang.cpp | |
parent | 1dfde0892b325ed1872975053c6745f5148050a2 (diff) |
arm64: ftrace: use function_nocfi for _mcount as well
Commit 800618f955a9 ("arm64: ftrace: use function_nocfi for ftrace_call")
only fixed address of ftrace_call but address of _mcount needs to be
fixed as well. Use function_nocfi() to get the actual address of _mcount
function as with CONFIG_CFI_CLANG, the compiler replaces function pointers
with jump table addresses which breaks dynamic ftrace as the address of
_mcount is replaced with the address of _mcount.cfi_jt.
With mainline, this won't be a problem since by default
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y with Clang >= 10 as it supports
-fpatchable-function-entry and CFI requires Clang 12 but for consistency
we should add function_nocfi() for _mcount as well.
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Link: https://lore.kernel.org/r/20211011125059.3378646-1-sumit.garg@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/perf/util/c++/clang.cpp')
0 files changed, 0 insertions, 0 deletions