Re: [PATCH] arm64: ftrace: fix build error with CONFIG_FUNCTION_GRAPH_TRACER=n

From: Catalin Marinas
Date: Fri Jun 30 2023 - 12:02:59 EST


On Fri, Jun 23, 2023 at 05:21:55PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> It appears that a merge conflict ended up hiding a newly added constant
> in some configurations:
>
> arch/arm64/kernel/entry-ftrace.S: Assembler messages:
> arch/arm64/kernel/entry-ftrace.S:59: Error: undefined symbol FTRACE_OPS_DIRECT_CALL used as an immediate value
>
> FTRACE_OPS_DIRECT_CALL is still used when CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> is enabled, even if CONFIG_FUNCTION_GRAPH_TRACER is disabled, so change the
> ifdef accordingly.
>
> Fixes: 3646970322464 ("arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/arm64/kernel/asm-offsets.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
> index 757d01a68ffd0..5ff1942b04fcf 100644
> --- a/arch/arm64/kernel/asm-offsets.c
> +++ b/arch/arm64/kernel/asm-offsets.c
> @@ -213,9 +213,9 @@ int main(void)
> DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7]));
> DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp));
> DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs));
> +#endif
> #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
> -#endif
> #endif
> return 0;
> }

Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>

Steven, since the fixed commit went in via your tree, could you please
pick this up as well for -rc1? Otherwise I'll queue it for -rc2 once the
ftrace changes turn up in -rc1.

Thanks.

--
Catalin