Re: ld.lld: error: undefined symbol: __udivdi3

From: Nathan Chancellor
Date: Thu Dec 01 2022 - 11:01:07 EST


On Thu, Dec 01, 2022 at 09:16:10AM +0100, Miquel Raynal wrote:
> Hi Mikhail, Hiroshi,
>
> lkp@xxxxxxxxx wrote on Thu, 1 Dec 2022 01:46:36 +0800:
>
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 01f856ae6d0ca5ad0505b79bf2d22d7ca439b2a1
> > commit: 9b78ef0c7997052e9eaa0f7a4513d546fa17358c mtd: parsers: add support for Sercomm partitions
> > date: 6 months ago
> > config: mips-randconfig-r033-20221128
> > compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 6e4cea55f0d1104408b26ac574566a0e4de48036)
> > reproduce (this is a W=1 build):
> > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > # install mips cross compiling tool for clang build
> > # apt-get install binutils-mipsel-linux-gnu
> > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b78ef0c7997052e9eaa0f7a4513d546fa17358c
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 9b78ef0c7997052e9eaa0f7a4513d546fa17358c
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash
> >
> > If you fix the issue, kindly add following tag where applicable
> > | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > All errors (new ones prefixed by >>):
> >
> > >> ld.lld: error: undefined symbol: __udivdi3
> > >>> referenced by scpart.c
> > >>> mtd/parsers/scpart.o:(scpart_parse) in archive drivers/built-in.a
> >
>
> Can you please try to reproduce this with a mips toolchain as advised
> and send a fix?

For what it's worth, this is likely our bug:

https://github.com/ClangBuiltLinux/linux/issues/1635

It sounds like there are some merged LLVM patches that should help but I
guess not based on this report...

Cheers,
Nathan