Re: [PATCH] arm64: Fix build with CC=clang, CONFIG_FTRACE=y and CONFIG_STACK_TRACER=y

From: Nathan Chancellor
Date: Mon Jan 09 2023 - 12:56:15 EST


On Mon, Jan 09, 2023 at 12:27:43PM +0000, James Clark wrote:
> commit 45bd8951806e ("arm64: Improve HAVE_DYNAMIC_FTRACE_WITH_REGS
> selection for clang") fixed the build with the above combination by
> splitting HAVE_DYNAMIC_FTRACE_WITH_REGS into separate checks for
> Clang and GCC.
>
> commit 26299b3f6ba2 ("ftrace: arm64: move from REGS to ARGS") added the
> GCC only check "-fpatchable-function-entry=2" back in unconditionally
> which breaks the build.
>
> Remove the unconditional check, because the conditional ones were also
> updated to _ARGS in the above commit, so they work correctly on their
> own.
>
> Fixes: 26299b3f6ba2 ("ftrace: arm64: move from REGS to ARGS")
> Signed-off-by: James Clark <james.clark@xxxxxxx>

Just for posterity, since I see it was already applied:

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
> arch/arm64/Kconfig | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index cf6d1cd8b6dc..c5ccca26a408 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -184,8 +184,6 @@ config ARM64
> select HAVE_DEBUG_KMEMLEAK
> select HAVE_DMA_CONTIGUOUS
> select HAVE_DYNAMIC_FTRACE
> - select HAVE_DYNAMIC_FTRACE_WITH_ARGS \
> - if $(cc-option,-fpatchable-function-entry=2)
> select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY \
> if DYNAMIC_FTRACE_WITH_ARGS
> select HAVE_EFFICIENT_UNALIGNED_ACCESS
>
> base-commit: 5db568e748f6fb7d0d2e1bff4c2698ad4f50b982
> --
> 2.25.1
>