* [PATCHv2] sparc: Export mcount for Clang-built modules
@ 2026-06-12 18:15 Rosen Penev
2026-06-15 8:01 ` Andreas Larsson
0 siblings, 1 reply; 2+ messages in thread
From: Rosen Penev @ 2026-06-12 18:15 UTC (permalink / raw)
To: sparclinux
Cc: David S. Miller, Andreas Larsson, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
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 <rosenp@gmail.com>
---
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCHv2] sparc: Export mcount for Clang-built modules
2026-06-12 18:15 [PATCHv2] sparc: Export mcount for Clang-built modules Rosen Penev
@ 2026-06-15 8:01 ` Andreas Larsson
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Larsson @ 2026-06-15 8:01 UTC (permalink / raw)
To: Rosen Penev, sparclinux
Cc: David S. Miller, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
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 <rosenp@gmail.com>
> ---
> 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 <andreas@gaisler.com>
Picking this up to my for-next.
Thanks,
Andreas
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-15 8:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-12 18:15 [PATCHv2] sparc: Export mcount for Clang-built modules Rosen Penev
2026-06-15 8:01 ` Andreas Larsson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome