arm64: disable recordmcount with DYNAMIC_FTRACE_WITH_REGS
authorSami Tolvanen <samitolvanen@google.com>
Fri, 11 Dec 2020 18:46:32 +0000 (10:46 -0800)
committerKees Cook <keescook@chromium.org>
Thu, 14 Jan 2021 16:21:09 +0000 (08:21 -0800)
commita31d793dbabd9251b5f46fb885a307b042bc79fe
treed1d64c2c42b6216b7855322dc97e5850e197bcf2
parent004d53f8c96f0a0263721494d25d6eec559268f4
arm64: disable recordmcount with DYNAMIC_FTRACE_WITH_REGS

DYNAMIC_FTRACE_WITH_REGS uses -fpatchable-function-entry, which makes
running recordmcount unnecessary as there are no mcount calls in object
files, and __mcount_loc doesn't need to be generated.

While there's normally no harm in running recordmcount even when it's
not strictly needed, this won't work with LTO as we have LLVM bitcode
instead of ELF objects.

This change selects FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY, which
disables recordmcount when patchable function entries are used instead.

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20201211184633.3213045-16-samitolvanen@google.com
arch/arm64/Kconfig