summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorYoshinori Sato <ysato@users.sourceforge.jp>2008-08-06 09:47:54 +0400
committerPaul Mundt <lethal@linux-sh.org>2008-08-11 15:17:49 +0400
commitd09d328c119a9ac20615fc8b1431aa417955ad4d (patch)
treee33f18198034dfe976ed66dd6205f99d96d4ecca /arch/sh
parent7265706c8fd57722f622f336ec110cb35f83e739 (diff)
downloadlinux-d09d328c119a9ac20615fc8b1431aa417955ad4d.tar.xz
sh: Don't export __{s,u}divsi3_i4i from SH-2 libgcc.
rsk7203_defconfig fails to build with the following error: <-- snip --> ... LD .tmp_vmlinux1 arch/sh/kernel/built-in.o:(__ksymtab+0xb8): undefined reference to `__udivsi3_i4i' arch/sh/kernel/built-in.o:(__ksymtab+0xc8): undefined reference to `__sdivsi3_i4i' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> That worked with 2.6.26, and these are far less undefined references than in the cases where libgcc was missing. [ These symbols are not defined on SH-2 versions of libgcc, so we have to special case the export there. - Paul ] Reported-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/sh_ksyms_32.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c
index 8f916536719c..6e1b1c271658 100644
--- a/arch/sh/kernel/sh_ksyms_32.c
+++ b/arch/sh/kernel/sh_ksyms_32.c
@@ -107,10 +107,12 @@ DECLARE_EXPORT(__movmemSI12_i4);
* 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);
+#if !defined(CONFIG_CPU_SH2)
+DECLARE_EXPORT(__sdivsi3_i4i);
DECLARE_EXPORT(__udivsi3_i4i);
#endif
+#endif
#else /* GCC 3.x */
DECLARE_EXPORT(__movstr_i4_even);
DECLARE_EXPORT(__movstr_i4_odd);