From 9f5f4b31df01a29fd07ce27efc7534b4ea29a778 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 2 Dec 2018 12:38:04 +0100 Subject: [PATCH] btrfs-tools: update to 4.19 Add a backported patch to fix big endian compilation. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...el-lib-bitops-Fix-big-endian-compila.patch | 55 +++++++++++++++++++ ...fs-tools_4.17.1.bb => btrfs-tools_4.19.bb} | 3 +- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_4.17.1.bb => btrfs-tools_4.19.bb} (92%) diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch new file mode 100644 index 0000000000..ad430858c9 --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch @@ -0,0 +1,55 @@ +From 920c515478b441eaca31e33a18b95ceaa49ace19 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 5 Nov 2018 11:06:41 -0800 +Subject: [PATCH] btrfs-progs: kernel-lib: bitops: Fix big endian compilation + +Replaced bswap with _ variants bswap_32 etc. While it's a glibc +extension, all of the popular libc implementations (glibc, uClibc, musl, +BIONIC) seem to support it. + +Added static inline to two functions to match little endian variants. This +fixes a linking error experienced when compiling on gcc 7.3.0 with LTO, +possibly a bug that was fixed later. + +Upstream-Status: Backport [https://gitlab.com/kdave/btrfs-progs/commit/ed570e2df335063280c9d3affd8bb89919a1ac0d.patch] +Reviewed-by: Nikolay Borisov +Signed-off-by: Rosen Penev +Signed-off-by: David Sterba +Signed-off-by: Alexander Kanavin +--- + kernel-lib/bitops.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/kernel-lib/bitops.h b/kernel-lib/bitops.h +index b1fd6f53..2c51a265 100644 +--- a/kernel-lib/bitops.h ++++ b/kernel-lib/bitops.h +@@ -178,9 +178,9 @@ static inline unsigned long find_next_zero_bit(const unsigned long *addr, + static inline unsigned long ext2_swab(const unsigned long y) + { + #if BITS_PER_LONG == 64 +- return (unsigned long) bswap64((u64) y); ++ return (unsigned long) bswap_64((u64) y); + #elif BITS_PER_LONG == 32 +- return (unsigned long) bswap32((u32) y); ++ return (unsigned long) bswap_32((u32) y); + #else + #error BITS_PER_LONG not defined + #endif +@@ -218,14 +218,14 @@ static inline unsigned long _find_next_bit_le(const unsigned long *addr1, + return min(start + __ffs(ext2_swab(tmp)), nbits); + } + +-unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, + unsigned long offset) + { + return _find_next_bit_le(addr, NULL, size, offset, ~0UL); + } + + +-unsigned long find_next_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_bit_le(const void *addr, unsigned long size, + unsigned long offset) + { + return _find_next_bit_le(addr, NULL, size, offset, 0UL); diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb similarity index 92% rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb index 6b53fbcd7f..f5e0f77c8a 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.19.bb @@ -14,11 +14,12 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "7faaca0d9f78f7162ae603231f693dd8e1af2a41" +SRCREV = "d72d913291683188ddf5d758db02f1bc3b05d2f7" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Makefile-build-mktables-using-native-gcc.patch \ file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0001-btrfs-progs-kernel-lib-bitops-Fix-big-endian-compila.patch \ " inherit autotools-brokensep pkgconfig manpages distutils3-base -- 2.40.1