On Sun, Jul 1, 2018 at 7:30 PM, Guo Ren <ren_guo@xxxxxxxxx> wrote: > > diff --git a/arch/csky/kernel/cskyksyms.c b/arch/csky/kernel/cskyksyms.c > new file mode 100644 > index 0000000..3f13594 > --- /dev/null > +++ b/arch/csky/kernel/cskyksyms.c > @@ -0,0 +1,31 @@ > +// SPDX-License-Identifier: GPL-2.0 > +// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. > +#include <linux/module.h> > +#include <linux/uaccess.h> > +#include <asm/cacheflush.h> > + > +/* > + * Defined in libgcc > + * > + * See arch/csky/Makefile: > + * -print-libgcc-file-name > + */ > +extern void __ashldi3 (void); > +extern void __ashrdi3 (void); > +extern void __lshrdi3 (void); > +extern void __muldi3 (void); > +extern void __ucmpdi2 (void); > +EXPORT_SYMBOL(__ashldi3); > +EXPORT_SYMBOL(__ashrdi3); > +EXPORT_SYMBOL(__lshrdi3); > +EXPORT_SYMBOL(__muldi3); > +EXPORT_SYMBOL(__ucmpdi2); It's better to avoid relying on libgcc here. Please use the CONFIG_GENERIC_LIB_ASHLDI3/ASHRDI3/LSHRDI3/etc helpers that we already have in the kernel. Arnd