summaryrefslogtreecommitdiff
path: root/arch/sh/kernel
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-07-13 09:30:31 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-07-13 09:30:31 +0900
commit2414b86d21dbacc53826d375c6001d31d8ebbee2 (patch)
tree3c3f2aaf8faadf5c40fe6ca6396f0564dac101c6 /arch/sh/kernel
parent8cb661d6a4b69734c393beeb523cbf86c915f374 (diff)
downloadlinux-3.10-2414b86d21dbacc53826d375c6001d31d8ebbee2.tar.gz
linux-3.10-2414b86d21dbacc53826d375c6001d31d8ebbee2.tar.bz2
linux-3.10-2414b86d21dbacc53826d375c6001d31d8ebbee2.zip
sh: Export div symbols for GCC 4.2 and ST GCC.
GCC 4.2 can emit integer variants of the FP division routines, so these need to be exported in order to keep the modules happy. 4.1.x versions of the ST compiler have these things backported, and so also generate these symbols (whereas vanilla gcc 4.1.x does not), so handle the __GNUC_STM_RELEASE__ case to accomodate updated versions of the 4.1.x toolchain. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r--arch/sh/kernel/sh_ksyms.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/sh/kernel/sh_ksyms.c b/arch/sh/kernel/sh_ksyms.c
index c1cfcb9f047..c968dcf09ee 100644
--- a/arch/sh/kernel/sh_ksyms.c
+++ b/arch/sh/kernel/sh_ksyms.c
@@ -78,6 +78,16 @@ DECLARE_EXPORT(__movstr);
DECLARE_EXPORT(__movmem_i4_even);
DECLARE_EXPORT(__movmem_i4_odd);
DECLARE_EXPORT(__movmemSI12_i4);
+
+#if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__))
+/*
+ * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST
+ * compiler which include backported patches.
+ */
+DECLARE_EXPORT(__sdivsi3_i4i);
+DECLARE_EXPORT(__udiv_qrnnd_16);
+DECLARE_EXPORT(__udivsi3_i4i);
+#endif
#else /* GCC 3.x */
DECLARE_EXPORT(__movstr_i4_even);
DECLARE_EXPORT(__movstr_i4_odd);