[PATCH] parisc: Do not export __lshrdi3 on 64-bit with gcc >= 11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It seems the __lshrdi3 symbol was dropped from libgcc.a from gcc-11 for
64-bit executables.

Signed-off-by: Helge Deller <deller@xxxxxx>
---
 arch/parisc/kernel/parisc_ksyms.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/parisc/kernel/parisc_ksyms.c b/arch/parisc/kernel/parisc_ksyms.c
index 00297e8e1c88..f26c51370255 100644
--- a/arch/parisc/kernel/parisc_ksyms.c
+++ b/arch/parisc/kernel/parisc_ksyms.c
@@ -14,6 +14,7 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/syscalls.h>
+#include <linux/compiler.h>

 #include <linux/string.h>
 EXPORT_SYMBOL(memset);
@@ -94,16 +95,19 @@ EXPORT_SYMBOL($$divI_15);

 extern void __ashrdi3(void);
 extern void __ashldi3(void);
-extern void __lshrdi3(void);
 extern void __muldi3(void);
 extern void __ucmpdi2(void);

 EXPORT_SYMBOL(__ashrdi3);
 EXPORT_SYMBOL(__ashldi3);
-EXPORT_SYMBOL(__lshrdi3);
 EXPORT_SYMBOL(__muldi3);
 EXPORT_SYMBOL(__ucmpdi2);

+#if !(defined(CONFIG_64BIT) && (GCC_VERSION >= 110000))
+extern void __lshrdi3(void);
+EXPORT_SYMBOL(__lshrdi3);
+#endif
+
 asmlinkage void * __canonicalize_funcptr_for_compare(void *);
 EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);

--
2.31.1




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux