commit:     e2c6fa0a4d2c2e75aa2e76c9f6d3d68314f4d989
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 10 21:44:53 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Nov 10 21:45:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2c6fa0a

sys-fs/btrfs-progs: fix build failure on big-endian platforms

Reported-by: ernsteiswuerfel
Bug: https://bugs.gentoo.org/670741
Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild         |  4 ++++
 .../files/btrfs-progs-4.19-be-bswap.patch          | 24 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild 
b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild
index 04d53839609..c0e82c0a114 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild
@@ -72,6 +72,10 @@ fi
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-be-bswap.patch
+)
+
 pkg_setup() {
        use python && python-single-r1_pkg_setup
 }

diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch 
b/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch
new file mode 100644
index 00000000000..b91b3204085
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch
@@ -0,0 +1,24 @@
+Fix build failure on big-endian platforms.
+
+Reported-by: ernsteiswuerfel
+Bug: https://bugs.gentoo.org/670741
+--- a/kernel-lib/bitops.h
++++ b/kernel-lib/bitops.h
+@@ -180,5 +180,5 @@ 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
+@@ -220,3 +220,3 @@ static inline unsigned long _find_next_bit_le(const 
unsigned long *addr1,
+ 
+-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)
+@@ -227,3 +227,3 @@ unsigned long find_next_zero_bit_le(const void *addr, 
unsigned long size,
+ 
+-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)

Reply via email to