Message ID | 20230623152204.2216297-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: ftrace: fix build error with CONFIG_FUNCTION_GRAPH_TRACER=n | expand |
On Fri, Jun 23, 2023 at 5:22 PM Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > 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@arndb.de> > --- > 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@chromium.org> Good catch, thank you Arnd!
On 6/23/23 08:35, Florent Revest wrote: > On Fri, Jun 23, 2023 at 5:22 PM Arnd Bergmann <arnd@kernel.org> wrote: >> >> From: Arnd Bergmann <arnd@arndb.de> >> >> 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@arndb.de> >> --- >> 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@chromium.org> > > Good catch, thank you Arnd! Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested Thanks.
On Fri, Jun 23, 2023 at 05:21:55PM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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@arndb.de> > --- > 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@arm.com> 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.
On Fri, 30 Jun 2023 17:02:39 +0100 Catalin Marinas <catalin.marinas@arm.com> wrote: > > 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@arm.com> > > 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. I'm working on a fixes pull request for Linus. I'll apply this to it and start my testing on it. I should have a pull request to Linus before the end of the week. -- Steve
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; }