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

From: Randy Dunlap
Date: Wed Jun 28 2023 - 20:04:38 EST




On 6/23/23 08:35, Florent Revest wrote:
> On Fri, Jun 23, 2023 at 5:22 PM Arnd Bergmann <arnd@xxxxxxxxxx> 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;
>> }
>> --
>> 2.39.2
>>
>
> Acked-by: Florent Revest <revest@xxxxxxxxxxxx>
>
> Good catch, thank you Arnd!


Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested

Thanks.

--
~Randy