]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sparc: Export mcount for Clang-built modules
authorRosen Penev <rosenp@gmail.com>
Fri, 12 Jun 2026 18:15:03 +0000 (11:15 -0700)
committerAndreas Larsson <andreas@gaisler.com>
Mon, 15 Jun 2026 08:06:07 +0000 (10:06 +0200)
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>
Reviewed-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Andreas Larsson <andreas@gaisler.com>
arch/sparc/include/asm/asm-prototypes.h
arch/sparc/lib/mcount.S

index 270c51017212a1b3a7f470450d3b10065569d397..a39a24c53216b413544594ab06800ae35a2b3244 100644 (file)
@@ -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);
index f7f7910eb41e37a6aa9b34f84db6b8e1b312e3e3..0309ba2c4712b1520ae2018079ac209df355a38d 100644 (file)
@@ -21,6 +21,7 @@
        EXPORT_SYMBOL(_mcount)
        .globl          mcount
        .type           mcount,#function
+       EXPORT_SYMBOL(mcount)
 _mcount:
 mcount:
 #ifdef CONFIG_FUNCTION_TRACER