Re: [PATCHv2] sparc: Export mcount for Clang-built modules
Andreas Larsson <[email protected]> Mon, 15 Jun 2026 10:01:02 +0200
| Newsgroups | org.kernel.vger.sparclinux,dev.linux.lists.llvm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 2026-06-12 20:15, Rosen Penev wrote: > Clang emits calls to mcount for -pg on sparc64, while the > existing ftrace support only exports the _mcount name. With > FUNCTION_TRACER enabled, modules can therefore keep relocations > against mcount and fail during modpost: > > ERROR: modpost: "mcount" [arch/sparc/kernel/chmc.ko] undefined! > > _mcount and mcount are aliases in arch/sparc/lib/mcount.S. Export > the plain mcount alias as well so Clang-built modules can resolve > their profiling call target. > > Assisted-by: Codex:GPT-5 > Signed-off-by: Rosen Penev <[email protected]> > --- > v2: add declaration in asm-prototypes.h > arch/sparc/include/asm/asm-prototypes.h | 1 + > arch/sparc/lib/mcount.S | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/sparc/include/asm/asm-prototypes.h b/arch/sparc/include/asm/asm-prototypes.h > index 270c51017212..a39a24c53216 100644 > --- a/arch/sparc/include/asm/asm-prototypes.h > +++ b/arch/sparc/include/asm/asm-prototypes.h > @@ -26,6 +26,7 @@ void *memset(void *s, int c, size_t n); > typedef int TItype __attribute__((mode(TI))); > TItype __multi3(TItype a, TItype b); > void _mcount(void); > +void mcount(void); > > s64 __ashldi3(s64, int); > s64 __lshrdi3(s64, int); > diff --git a/arch/sparc/lib/mcount.S b/arch/sparc/lib/mcount.S > index f7f7910eb41e..0309ba2c4712 100644 > --- a/arch/sparc/lib/mcount.S > +++ b/arch/sparc/lib/mcount.S > @@ -21,6 +21,7 @@ > EXPORT_SYMBOL(_mcount) > .globl mcount > .type mcount,#function > + EXPORT_SYMBOL(mcount) > _mcount: > mcount: > #ifdef CONFIG_FUNCTION_TRACER > -- > 2.54.0 > Reviewed-by: Andreas Larsson <[email protected]> Picking this up to my for-next. Thanks, Andreas