[linux-yocto] [PATCH] btrfs: Fix build error while LIBCRC32C is module
Bruce Ashfield
bruce.ashfield at gmail.com
Thu Jul 25 06:04:59 PDT 2019
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:
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
More information about the linux-yocto
mailing list