Re: linux-next: build failure after merge of the btrfs tree

From: Qu Wenruo
Date: Fri Oct 08 2021 - 01:56:49 EST




On 2021/10/8 12:03, Stephen Rothwell wrote:
Hi all,

After merging the btrfs tree, today's linux-next build (nds32 allyesconfig
nds32le-gcc8) failed like this:

nds32le-linux-ld: fs/btrfs/lzo.o: in function `lzo_compress_pages':
(.text+0x226): undefined reference to `__umoddi3'
nds32le-linux-ld: (.text+0x22a): undefined reference to `__umoddi3'
nds32le-linux-ld: (.text+0x660): undefined reference to `__umoddi3'
nds32le-linux-ld: (.text+0x664): undefined reference to `__umoddi3'

Probably Caused by commit

0078783c7089 ("btrfs: rework lzo_compress_pages() to make it subpage compatible")

Yes, that's the commit.

It's calling (u64) % (u32), causing the problem.

And we got an earlier report with a better solution by doing (u64) & (u32 mask - 1).

I guess the latest version is not yet pushed to -next.

Thanks,
Qu

This caused build failures in several other 32 bit architecture builds.