2021-10-08 04:06:30

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the btrfs tree

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")

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

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2021-10-08 06:00:36

by Qu Wenruo

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the btrfs tree



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.
>