[linux-yocto] [PATCH] btrfs: Fix build error while LIBCRC32C is module

Bruce Ashfield bruce.ashfield at gmail.com
Thu Jul 25 19:33:12 PDT 2019


On Thu, Jul 25, 2019 at 9:43 PM He Zhe <zhe.he at windriver.com> wrote:

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


It should be there, I pushed things on Wednesday. I'll double check to see
what has happened.

Bruce



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

-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end
- "Use the force Harry" - Gandalf, Star Trek II
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/linux-yocto/attachments/20190725/1dfc37a3/attachment.html>


More information about the linux-yocto mailing list