[linux-yocto] [PATCH] btrfs: Fix build error while LIBCRC32C is module
He Zhe
zhe.he at windriver.com
Thu Jul 25 18:43:08 PDT 2019
On 7/25/19 9:04 PM, Bruce Ashfield wrote:
> On Thu, Jul 25, 2019 at 9:03 AM Bruce Ashfield <bruce.ashfield at gmail.com> wrote:
>> On Thu, Jul 25, 2019 at 4:54 AM <zhe.he at windriver.com> wrote:
>>> From: YueHaibing <yuehaibing at huawei.com>
>>>
>>> If CONFIG_BTRFS_FS is y and CONFIG_LIBCRC32C is m,
>>> building fails:
>> I've already fixed this by changing the configuration in the kernel-cache. I'll
>> pick this up in linux-yocto-dev once it makes a -rc release.
> i.e. make sure you have this commit from the kernel-cache master:
You mean you're going to merge it soon, right? I can't find it for the moment.
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/log/?h=master
Zhe
>
> commit 578e0f7fef5a0772460e3c4bcae1200d35a70b21
> Author: Bruce Ashfield <bruce.ashfield at gmail.com>
> Date: Mon Jul 22 23:41:42 2019 -0400
>
> config: set CONFIG_LIBCRC32C=y
>
> Since commit d5178578bcd461cc79118c7a139882350fe505aa
>
> Author: Johannes Thumshirn <jthumshirn at suse.de>
> Date: Mon Jun 3 16:58:57 2019 +0200
>
> btrfs: directly call into crypto framework for checksumming
>
> We now have a dependency on crc32 in crypto, and it must be built
> into the kernel to avoid:
>
> | x86_64-poky-linux-ld.bfd: fs/btrfs/super.o: in function
> `btrfs_mount_root':
> | super.c:(.text+0xb9b6): undefined reference to `crc32c_impl'
> | x86_64-poky-linux-ld.bfd: fs/btrfs/super.o: in function
> `init_btrfs_fs':
> | super.c:(.init.text+0x362b): undefined reference to `crc32c_impl'
> | x86_64-poky-linux-ld.bfd: fs/btrfs/extent-tree.o: in function
> `hash_extent_data_ref':
> | extent-tree.c:(.text+0xdfa): undefined reference to `crc32c'
> | x86_64-poky-linux-ld.bfd: extent-tree.c:(.text+0xe13): undefined
> reference to `crc32c'
> | x86_64-poky-linux-ld.bfd: extent-tree.c:(.text+0xe27): undefined
> reference to `crc32c'
> | x86_64-poky-linux-ld.bfd: fs/btrfs/dir-item.o: in function
> `btrfs_insert_xattr_item':
> | dir-item.c:(.text+0x286): undefined reference to `crc32c'
>
> So we set our defaults to cover the btrfs build cases without error.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
>
>
>> Bruce
>>
>>> 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 at huawei.com>
>>> Fixes: d5178578bcd4 ("btrfs: directly call into crypto framework for checksumming")
>>> Reviewed-by: Johannes Thumshirn <jthumshirn at suse.de>
>>> Signed-off-by: YueHaibing <yuehaibing at huawei.com>
>>> Reviewed-by: David Sterba <dsterba at suse.com>
>>> Signed-off-by: David Sterba <dsterba at suse.com>
>>>
>>> commit 314c4cd6d9e60b9412dcd1b1783a66532f91ea2d upstream
>>>
>>> Signed-off-by: He Zhe <zhe.he at windriver.com>
>>> ---
>>> fs/btrfs/Kconfig | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
>>> index 212b4a8..38651fa 100644
>>> --- a/fs/btrfs/Kconfig
>>> +++ b/fs/btrfs/Kconfig
>>> @@ -4,6 +4,7 @@ config BTRFS_FS
>>> tristate "Btrfs filesystem support"
>>> select CRYPTO
>>> select CRYPTO_CRC32C
>>> + select LIBCRC32C
>>> select ZLIB_INFLATE
>>> select ZLIB_DEFLATE
>>> select LZO_COMPRESS
>>> --
>>> 2.7.4
>>>
>>
>> --
>> - Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at its end
>> - "Use the force Harry" - Gandalf, Star Trek II
>
>
More information about the linux-yocto
mailing list