diff options
author | Yoshinori Sato <ysato@users.sourceforge.jp> | 2008-08-06 05:47:54 (GMT) |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-08-11 11:17:49 (GMT) |
commit | d09d328c119a9ac20615fc8b1431aa417955ad4d (patch) | |
tree | e33f18198034dfe976ed66dd6205f99d96d4ecca /arch/sh/kernel | |
parent | 7265706c8fd57722f622f336ec110cb35f83e739 (diff) | |
download | linux-fsl-qoriq-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/kernel')
-rw-r--r-- | arch/sh/kernel/sh_ksyms_32.c | 4 |
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 8f91653..6e1b1c2 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); |