From: Sergei Trofimovich Date: Sat, 10 Nov 2018 21:44:53 +0000 (+0000) Subject: sys-fs/btrfs-progs: fix build failure on big-endian platforms X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=e2c6fa0a4d2c2e75aa2e76c9f6d3d68314f4d989;p=gentoo.git 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 --- diff --git a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild index 04d538396094..c0e82c0a114e 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 000000000000..b91b32040855 --- /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)