Re: [PATCH] btrfs: Fix build error while LIBCRC32C is module

From: David Sterba
Date: Thu Jul 04 2019 - 12:19:17 EST


On Tue, Jul 02, 2019 at 10:39:03PM +0800, YueHaibing wrote:
> If CONFIG_BTRFS_FS is y and CONFIG_LIBCRC32C is m,
> building fails:
>
> fs/btrfs/super.o: In function `btrfs_mount_root':
> super.c:(.text+0xb7f9): undefined reference to `crc32c_impl'
> fs/btrfs/super.o: In function `init_btrfs_fs':
> super.c:(.init.text+0x3465): undefined reference to `crc32c_impl'
> fs/btrfs/extent-tree.o: In function `hash_extent_data_ref':
> extent-tree.c:(.text+0xe60): undefined reference to `crc32c'
> extent-tree.c:(.text+0xe78): undefined reference to `crc32c'
> extent-tree.c:(.text+0xe8b): undefined reference to `crc32c'
> fs/btrfs/dir-item.o: In function `btrfs_insert_xattr_item':
> dir-item.c:(.text+0x291): undefined reference to `crc32c'
> fs/btrfs/dir-item.o: In function `btrfs_insert_dir_item':
> dir-item.c:(.text+0x429): undefined reference to `crc32c'
>
> Select LIBCRC32C to fix it.
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Fixes: d5178578bcd4 ("btrfs: directly call into crypto framework for checksumming")

Thanks, queued for 5.3. I hoped we could reduce the config dependencies
a bit, oh well.