On Sat, Apr 8, 2017 at 1:02 PM, Icenowy Zheng <icen...@aosc.io> wrote: > Hello everyone, > Today I tried to build a kernel with btrfs enabled on ARM, then when linking > I met such an error: > > ``` > fs/built-in.o: In function `scrub_bio_end_io_worker': > acl.c:(.text+0x2f0450): undefined reference to `__aeabi_uldivmod' > fs/built-in.o: In function `scrub_extent_for_parity': > acl.c:(.text+0x2f0bcc): undefined reference to `__aeabi_uldivmod' > fs/built-in.o: In function `scrub_raid56_parity': > acl.c:(.text+0x2f12a8): undefined reference to `__aeabi_uldivmod' > acl.c:(.text+0x2f15c4): undefined reference to `__aeabi_uldivmod' > ``` > > These functions are found at fs/btrfs/scrub.c . > > After disabling btrfs the kernel is successfully built.
I see the same error with ARM imx_v6_v7_defconfig + btrfs support. Looks like it is caused by commit 7d0ef8b4dbbd220 ("Btrfs: update scrub_parity to use u64 stripe_len").