summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2023-09-06 03:46:57 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-19 12:30:21 +0200
commit53092c767eef50dd42c0a74abcf77ac466589b3f (patch)
tree285d8b6e1d03e3800628a23bb911aba9233a73cd /include
parent610dbd8ac271aa36080aac50b928d700ee3fe4de (diff)
downloadlinux-53092c767eef50dd42c0a74abcf77ac466589b3f.tar.gz
linux-53092c767eef50dd42c0a74abcf77ac466589b3f.tar.bz2
linux-53092c767eef50dd42c0a74abcf77ac466589b3f.zip
linux/export: fix reference to exported functions for parisc64
commit 08700ec705043eb0cee01b35cf5b9d63f0230d12 upstream. John David Anglin reported parisc has been broken since commit ddb5cdbafaaa ("kbuild: generate KSYMTAB entries by modpost"). Like ia64, parisc64 uses a function descriptor. The function references must be prefixed with P%. Also, symbols prefixed $$ from the library have the symbol type STT_LOPROC instead of STT_FUNC. They should be handled as functions too. Fixes: ddb5cdbafaaa ("kbuild: generate KSYMTAB entries by modpost") Reported-by: John David Anglin <dave.anglin@bell.net> Tested-by: John David Anglin <dave.anglin@bell.net> Tested-by: Helge Deller <deller@gmx.de> Closes: https://lore.kernel.org/linux-parisc/1901598a-e11d-f7dd-a5d9-9a69d06e6b6e@bell.net/T/#u Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/export-internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/export-internal.h b/include/linux/export-internal.h
index 1c849db953a5..45fca09b2319 100644
--- a/include/linux/export-internal.h
+++ b/include/linux/export-internal.h
@@ -52,6 +52,8 @@
#ifdef CONFIG_IA64
#define KSYM_FUNC(name) @fptr(name)
+#elif defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
+#define KSYM_FUNC(name) P%name
#else
#define KSYM_FUNC(name) name
#endif