ERROR: modpost: "__udivdi3" [fs/btrfs/btrfs.ko] undefined!

David Sterba dsterba at suse.cz
Tue Nov 3 06:14:02 EST 2020


On Tue, Nov 03, 2020 at 06:21:06PM +0800, Qu Wenruo wrote:
> 
> 
> On 2020/11/3 下午5:47, Geert Uytterhoeven wrote:
> > On Tue, Nov 3, 2020 at 10:43 AM Naresh Kamboju
> > <naresh.kamboju at linaro.org> wrote:
> >> Linux next 20201103 tag make modules failed for i386 and arm
> >> architecture builds.
> >>
> >> Error log:
> >>   LD [M]  fs/btrfs/btrfs.o
> >>   MODPOST Module.symvers
> >> ERROR: modpost: "__udivdi3" [fs/btrfs/btrfs.ko] undefined!
> >> scripts/Makefile.modpost:111: recipe for target 'Module.symvers' failed
> >> make[2]: *** [Module.symvers] Error 1
> >>
> >> Full build log,
> >> https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=intel-core2-32,label=docker-lkft/891/consoleText
> >> https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=am57xx-evm,label=docker-lkft/891/consoleText
> >>
> >> --
> >> Linaro LKFT
> >> https://lkft.linaro.org
> > 
> > Yeah, I had a look earlier today, thanks to the kisskb builder, and
> > the btrfs people are working on a fix.
> > Interestingly, the issue was reported in September, and still entered
> > linux-next, so we all had a great time to look into it ;-)
> 
> Yeah, we all know that and how to fix it (just call do_div64() for u64 /
> u32).
> But at that time we're already working on a better solution, other than
> using do_div64(), we use sectorsize_bits shift to replace the division,
> and unfortunately the bit shift fix didn't get merged until recently.
> 
> Considering that patch is only designed to be merged after the bit shift
> fix patch, we're not that concerned. (Until some other guys are
> complaining about the linux-next branch).

I've pushed updated for-next that uses the sectorsize_bits.



More information about the linux-arm-kernel mailing list