summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-13 05:48:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-13 05:48:01 +0000
commit4bc834b03b9438dcfd45780f31a02994c24608ba (patch)
tree1ee84a24bd250533fbdadfa949f438db20ba98aa /sys-fs
parent175512fa7c74d0e48a7a1b40a6e456435af0481b (diff)
gentoo auto-resync : 13:01:2023 - 05:48:01
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin22521 -> 22525 bytes
-rw-r--r--sys-fs/zfs-kmod/Manifest3
-rw-r--r--sys-fs/zfs-kmod/files/2.1.7-ppc64-ieee128-compat.patch217
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild7
-rw-r--r--sys-fs/zfs/Manifest3
-rw-r--r--sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch217
-rw-r--r--sys-fs/zfs/zfs-2.1.7-r1.ebuild7
7 files changed, 448 insertions, 6 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 41081f92f1f9..84f64dec5971 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 0d6afaece07e..4028fdd34d7e 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -1,9 +1,10 @@
+AUX 2.1.7-ppc64-ieee128-compat.patch 6889 BLAKE2B 9214915ed5b1d149927d46f749903fbb9b4d243d993041b8c6db039dcb7a3968a315f211e010ef9373b721336d45daef264d951e7ea1e0aed01818ebccae9d02 SHA512 4e3edbe396d0c1fdb7b286417b2bf7fe114b392e09158b3f5d3e3d1c4844bf0d59263309883363175dacd63194fd0d6a120ace35c83989d0546dae825bbb91bd
AUX zfs-kmod-2.1.6-fgrep.patch 2183 BLAKE2B b8c9b58cc6d94e9ddeacbe3c5eca9d040f1c6fba84b814c8c553d5c1e15334765d3190286a4ad2298762bc54f66a8b89ef69d115cfbd5a25d928170a1d46a770 SHA512 f65e7ffa8cfd00da7ad6d1fcbf5d61172c52e55ea2630f719b49750692c1c046e8baed0e04cadc841adbd804cf861ec712b0d07dbbcae7c1c3b475326045ae8c
DIST zfs-2.1.6.tar.gz 34951282 BLAKE2B 615fe7a2128af77c6c855ea52b6503a78f0c992ea845b02875ac19aa9dd155c5d4110b668da91c463f96a54767ab92e67e5303572337352484c055c0a0ff9e46 SHA512 75639e4cecb281fe73a6e6bd116693f6609ace9b358385450297d175087b10938c2f489a08c657cf0a64250a8db995cbd19abc808a8523cb4c5344b3f76668d6
DIST zfs-2.1.6.tar.gz.asc 836 BLAKE2B d85a79f8824a92c4d0a9682646f79c14871ebe27764289dc87cd9b0a773b7295538780401e70c492a9e4e7097ff2b3e459f7e0a7fdce2e2a59d3f467c41d88b3 SHA512 a83fcc00a8b35f1a1f9b94097d453019333a5351a3d78656dbd9ef732655ee817ccc88068c5ba11b5ff4a285e02250aee4169cc1450025edf547a2329fca7e15
DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e8183436fee73cd56705abfdaecfaf1b6fbe8dd508ccce707c8259c7ab6e1733b60b17757f0a7ff92d4e52bbad SHA512 6a31eb8fbee90ad1abcfedb9000991761aff7591b11362eb5ec6e0bb4b785a7004a251439409d7bd3f51fc995c859614da6313655337952f70bae07ac8ee0140
DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948 SHA512 4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f
EBUILD zfs-kmod-2.1.6.ebuild 5486 BLAKE2B 32e4582834c915881847938f42591797e4ba7dff695b3093681de90ed20ebe36d4df78fe8a869a3cc3b285dd65eab15b43a125d2a5cb68379fe22bb5475bb35a SHA512 0eb5ab0d272cb20f0072a442dd6fcedbfc01391ae8ef30c80418495af6116dc82916500f0474f4139ea54e4934d4d1db8a0d45c9bf284c644869f46753dc2b7f
-EBUILD zfs-kmod-2.1.7.ebuild 5487 BLAKE2B 5bee54fefdc88bcc6580070be8ec8695830adf5a10da3e83d9ce99ffdbd0b97b30eebb9696e8c67ea848e28897af839ce18f2369a76d464199b1bd89e8ffeebb SHA512 17dca83c2b22f199d1e62a5ea71af6e26d9f56419a422107795bd896c4ff8b59320c2c12ed9b6e149ac0e1ef95ee4bcf955ec9bc504c8577bb173b508533ab97
+EBUILD zfs-kmod-2.1.7.ebuild 5582 BLAKE2B 48b67e37786fe08ceff7701156d1982ccc602ad4881fc0ca9629f55dac1063db909b747fc2a75b46c545e0abf662f54036e056e4e296749228868b57d343c047 SHA512 c0a54af01573bf4801acfb289332293c3d7c4fcd55f45423e50673f0a27632ce315e6182e5645486baf5102e3d40ae8a65e32011d185b2d6984240488c668c93
EBUILD zfs-kmod-9999.ebuild 6569 BLAKE2B e058687c1724cae0c0fb33826320a7ae05220efc5156268b3189841c70075d36bbd98d7273c73b68893a6a2577790012b9f7aec324ca0f00f07f7d58d5a90347 SHA512 cc1c71c7141c6ef9ccb522c8f8599d648975e9d066ab58ced971e48155e3c9caf4a597c13166db8c10ed0cd73c8255772b461f2b0f6b32beb6b708c1339755b9
MISC metadata.xml 651 BLAKE2B 477c5d768a2eddab7bc0c14d0845801e25bfd9298fe229a132d7ff11a8560988d0230ec5d4b1447df32f58b9754df0cbe989f2a5600cd3fa99124ea4edc45cdd SHA512 d9bf0598c87bcdaab7d81dd5502caf1400f3c8d3834a6770630d85ed365cd4ebb3beeebae72d2d4d49bcdd0aa6cd709aa57cb2af4195dfc04a9c0cef89cfd724
diff --git a/sys-fs/zfs-kmod/files/2.1.7-ppc64-ieee128-compat.patch b/sys-fs/zfs-kmod/files/2.1.7-ppc64-ieee128-compat.patch
new file mode 100644
index 000000000000..5613cb8ca9d1
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/2.1.7-ppc64-ieee128-compat.patch
@@ -0,0 +1,217 @@
+From 8324d738fdb3096bd97336476bb399e6c312289a Mon Sep 17 00:00:00 2001
+From: Richard Yao <richard.yao@alumni.stonybrook.edu>
+Date: Thu, 12 Jan 2023 11:06:57 -0500
+Subject: [PATCH] Linux ppc64le ieee128 compat: Do not redefine __asm on
+ external headers
+
+There is an external assembly declaration extension in GNU C that glibc
+uses when building with ieee128 floating point support on ppc64le.
+Marking that as volatile makes no sense, so the build breaks.
+
+It does not make sense to only mark this as volatile on Linux, since if
+do not want the compiler reordering things on Linux, we do not want the
+compiler reordering things on any other platform, so we stop treating
+Linux specially and just manually inline the CPP macro so that we can
+eliminate it. This should fix the build on ppc64le.
+
+Closes openzfs/zfs#14308
+Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
+---
+ .../vdev_raidz_math_powerpc_altivec_common.h | 44 +++++++++----------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+diff --git a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
+index 46d42c5e241..f76eb47a9c6 100644
+--- a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
++++ b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
+@@ -26,10 +26,6 @@
+ #include <sys/types.h>
+ #include <sys/simd.h>
+
+-#ifdef __linux__
+-#define __asm __asm__ __volatile__
+-#endif
+-
+ #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N
+ #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1)
+
+@@ -142,7 +138,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "lvx 19,0,%[SRC2]\n" \
+@@ -172,7 +168,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "lvx 19,0,%[SRC2]\n" \
+@@ -189,7 +185,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "vxor " VR0(r) "," VR0(r) ",21\n" \
+@@ -208,7 +204,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR4(r) "," VR4(r) "," VR0(r) "\n" \
+ "vxor " VR5(r) "," VR5(r) "," VR1(r) "\n" \
+ "vxor " VR6(r) "," VR6(r) "," VR2(r) "\n" \
+@@ -217,7 +213,7 @@ typedef struct v {
+ : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR2(r) "," VR2(r) "," VR0(r) "\n" \
+ "vxor " VR3(r) "," VR3(r) "," VR1(r) "\n" \
+ : UVR2(r), UVR3(r) \
+@@ -232,7 +228,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -245,7 +241,7 @@ typedef struct v {
+ WVR4(r), WVR5(r), WVR6(r), WVR7(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -253,7 +249,7 @@ typedef struct v {
+ : WVR0(r), WVR1(r), WVR2(r), WVR3(r)); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ : WVR0(r), WVR1(r)); \
+@@ -267,7 +263,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vor " VR4(r) "," VR0(r) "," VR0(r) "\n" \
+ "vor " VR5(r) "," VR1(r) "," VR1(r) "\n" \
+ "vor " VR6(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -276,7 +272,7 @@ typedef struct v {
+ : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vor " VR2(r) "," VR0(r) "," VR0(r) "\n" \
+ "vor " VR3(r) "," VR1(r) "," VR1(r) "\n" \
+ : WVR2(r), WVR3(r) \
+@@ -291,7 +287,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ "lvx " VR2(r) " ,0,%[SRC2]\n" \
+@@ -312,7 +308,7 @@ typedef struct v {
+ [SRC7] "r" ((OFFSET(src, 112)))); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ "lvx " VR2(r) " ,0,%[SRC2]\n" \
+@@ -324,7 +320,7 @@ typedef struct v {
+ [SRC3] "r" ((OFFSET(src, 48)))); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ : WVR0(r), WVR1(r) \
+@@ -340,7 +336,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ "stvx " VR2(r) " ,0,%[DST2]\n" \
+@@ -362,7 +358,7 @@ typedef struct v {
+ : "memory"); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ "stvx " VR2(r) " ,0,%[DST2]\n" \
+@@ -375,7 +371,7 @@ typedef struct v {
+ : "memory"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ : : [DST0] "r" ((OFFSET(dst, 0))), \
+@@ -400,7 +396,7 @@ typedef struct v {
+
+ #define MUL2_SETUP() \
+ { \
+- __asm( \
++ __asm__ __volatile__( \
+ "vspltisb " VR(16) ",14\n" \
+ "vspltisb " VR(17) ",15\n" \
+ "vaddubm " VR(16) "," VR(17) "," VR(16) "\n" \
+@@ -412,7 +408,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \
+ "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \
+ "vcmpgtsb 21," VR(17) "," VR2(r) "\n" \
+@@ -434,7 +430,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \
+ "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \
+ "vand 19,19," VR(16) "\n" \
+@@ -478,7 +474,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ /* lts for upper part */ \
+ "vspltisb 15,15\n" \
+ "lvx 10,0,%[lt0]\n" \
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild
index d12dfd611acc..b996ea790d4b 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,7 +26,7 @@ else
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
+ KEYWORDS="~amd64 ~arm64 ppc64 ~riscv ~sparc"
fi
fi
@@ -62,6 +62,9 @@ DOCS=( AUTHORS COPYRIGHT META README.md )
PATCHES=(
"${FILESDIR}"/${PN}-2.1.6-fgrep.patch
+
+ # https://github.com/openzfs/zfs/issues/14308
+ "${FILESDIR}"/2.1.7-ppc64-ieee128-compat.patch
)
pkg_pretend() {
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 46945ef2b306..9159e0968924 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -3,13 +3,14 @@ AUX 2.1.5-dracut-zfs-missing.patch 309 BLAKE2B e66e700757aa6498b71d714c13e29e671
AUX 2.1.5-r2-dracut-non-root.patch 1823 BLAKE2B b6954c1648742cb19b1cea5709bdba78477731232bfd6a180f2b2aa179ba2e10ac968af6658fc9fd9a7a03127098c7e4401f3ad803e603d4e114d995b370da3d SHA512 33b3244de91f3d51ef2c2eff2ea4515890b7fa9b39a077b4034f770772077e75e6c5db187c76aa19dd2fb60dac91de35d70fbd84be3704bb950bbf8d4656c29a
AUX 2.1.6-fgrep.patch 2183 BLAKE2B b8c9b58cc6d94e9ddeacbe3c5eca9d040f1c6fba84b814c8c553d5c1e15334765d3190286a4ad2298762bc54f66a8b89ef69d115cfbd5a25d928170a1d46a770 SHA512 f65e7ffa8cfd00da7ad6d1fcbf5d61172c52e55ea2630f719b49750692c1c046e8baed0e04cadc841adbd804cf861ec712b0d07dbbcae7c1c3b475326045ae8c
AUX 2.1.7-dracut-include-systemd-overrides.patch 1749 BLAKE2B e88570b8f29d882f43a114837f94572a91fc317008ebb02f9d5df9e5a8ba21b5b18a2f48099e7bb1e42c40a9b25af991070b77c11a07d0c194e31dcdf003e9c4 SHA512 0df9068d59cddfa5c7dafb2fcb0f25c700ef48a4e461c07ed6edca57c5d26443d3904bb61131a7b731fd88f2d85eb091c9397daf3198addcc16e478acf4f85dc
+AUX 2.1.7-ppc64-ieee128-compat.patch 6889 BLAKE2B 9214915ed5b1d149927d46f749903fbb9b4d243d993041b8c6db039dcb7a3968a315f211e010ef9373b721336d45daef264d951e7ea1e0aed01818ebccae9d02 SHA512 4e3edbe396d0c1fdb7b286417b2bf7fe114b392e09158b3f5d3e3d1c4844bf0d59263309883363175dacd63194fd0d6a120ace35c83989d0546dae825bbb91bd
AUX 2.1.7-systemd-zed-restart-always.patch 919 BLAKE2B db72605abfeac766c297fdb617b4dc5e89de949770d407cd206da8e46b6abab6c64b35967bc94c5b35df819dbace12b5e425cb38fc93b4daddef32fceec395b3 SHA512 9070ee16494362e3b7aa8dfe5b47661efbb5cf65ea32e625bd3a7aa5cc0634fb3751e2e9859b7380e0975bbde3294fb2b718444f60309f7cb8c10afabcce3483
DIST zfs-2.1.6.tar.gz 34951282 BLAKE2B 615fe7a2128af77c6c855ea52b6503a78f0c992ea845b02875ac19aa9dd155c5d4110b668da91c463f96a54767ab92e67e5303572337352484c055c0a0ff9e46 SHA512 75639e4cecb281fe73a6e6bd116693f6609ace9b358385450297d175087b10938c2f489a08c657cf0a64250a8db995cbd19abc808a8523cb4c5344b3f76668d6
DIST zfs-2.1.6.tar.gz.asc 836 BLAKE2B d85a79f8824a92c4d0a9682646f79c14871ebe27764289dc87cd9b0a773b7295538780401e70c492a9e4e7097ff2b3e459f7e0a7fdce2e2a59d3f467c41d88b3 SHA512 a83fcc00a8b35f1a1f9b94097d453019333a5351a3d78656dbd9ef732655ee817ccc88068c5ba11b5ff4a285e02250aee4169cc1450025edf547a2329fca7e15
DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e8183436fee73cd56705abfdaecfaf1b6fbe8dd508ccce707c8259c7ab6e1733b60b17757f0a7ff92d4e52bbad SHA512 6a31eb8fbee90ad1abcfedb9000991761aff7591b11362eb5ec6e0bb4b785a7004a251439409d7bd3f51fc995c859614da6313655337952f70bae07ac8ee0140
DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948 SHA512 4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f
EBUILD zfs-2.1.6.ebuild 9268 BLAKE2B 34c2071a754fccc4bb6f5e3fbf4b08c232c439dc0185f46adb8ffbdd202a749db4a5432cc8d0ee0e8d25866b594bd2c56f50911886d406cf7fd9a27e511aa6dd SHA512 46d39812ac6b53f7b18592c969bcea0a484f2a81cdcaab165be980c65669c9fae04db6b3c5e7fd341ee6dedd61a789e1faebf31d146bfb6e11e25f9426a845e1
-EBUILD zfs-2.1.7-r1.ebuild 9403 BLAKE2B a28e60b915ba7b1573b56cf8d3fe7350d20c2888c051e6372c96889e73775ec86bc4f2f2fd2a757619099a1e47c57089fb04a598ca40d23ce32a08a4be7f8921 SHA512 a03f38c35ceae601c6ea1347d6ea38b0c0436369112aab81224c270660800a3a110f16f5758d09a364d64714a1b0365cd92b414bb97109063406afc8524bbec0
+EBUILD zfs-2.1.7-r1.ebuild 9498 BLAKE2B 04f215c957ce197dc203446757c4cc29f0580dfea04b839a46416b1dda26afccf31f8e53e03c776a03eecacbfb0d4f91073262ed85ec70dfe9620b2224ff5b63 SHA512 e27589d8d3b2f6ec805ee8d8033d3c1c3db7760f75bea8bbed81a8f3c81828513f9ae1ceb73f7569600b8807a5c62e82f98790d1f470cb1f181531aebe45302f
EBUILD zfs-2.1.7.ebuild 9271 BLAKE2B aa605c85b5f99bf557fbbdaaf3c0326d17ba27dae43b9c244afa24a86d95a23e67ac59e0a378c40cb642a2bab76fd0b7cae29c50d3d8c715fa840b55f1d164d6 SHA512 0d99aacb7b4a4acbcc29a93667ddece0c06d1373d084530df11d126bce6f3c992a93d523ce1b142ae9574c392523aeb26fe51acdc505985ac187ffaa4c3db5c2
EBUILD zfs-9999.ebuild 8930 BLAKE2B e6afef604bc8797943eb9c8c01c2f5b621acb2ff682a58eb19773bb66b5f10941321203ed3368dbaa6941396c566da7de4df30368df0042a9b68f72b0136d72c SHA512 8696b3b6d389b39b8d6273daad62e3f2d46abf25872e4e050d3f7c5155cb4f790f0f55ff6b341d0f174e6f46dd3dd5a7d9547844cf3ee5e3b23cd29a2e9a71bf
MISC metadata.xml 2205 BLAKE2B 82e20a6f5906b8cbbc6eb6e9520cf4e4213ce9cba2b056df5d5db0d4deaa4a20822a88e26286446d105326a8f61c807047a0e1e64494faac48d8ed5708807c02 SHA512 222981f945e98ddef646c593cbc8889f3526af4901c28ab5775ba760ca7d3aff3129b2699e8b7337b59fd33cbba388915cb5b2dc09674432c606f41ff27dbd9b
diff --git a/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch b/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch
new file mode 100644
index 000000000000..5613cb8ca9d1
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch
@@ -0,0 +1,217 @@
+From 8324d738fdb3096bd97336476bb399e6c312289a Mon Sep 17 00:00:00 2001
+From: Richard Yao <richard.yao@alumni.stonybrook.edu>
+Date: Thu, 12 Jan 2023 11:06:57 -0500
+Subject: [PATCH] Linux ppc64le ieee128 compat: Do not redefine __asm on
+ external headers
+
+There is an external assembly declaration extension in GNU C that glibc
+uses when building with ieee128 floating point support on ppc64le.
+Marking that as volatile makes no sense, so the build breaks.
+
+It does not make sense to only mark this as volatile on Linux, since if
+do not want the compiler reordering things on Linux, we do not want the
+compiler reordering things on any other platform, so we stop treating
+Linux specially and just manually inline the CPP macro so that we can
+eliminate it. This should fix the build on ppc64le.
+
+Closes openzfs/zfs#14308
+Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
+---
+ .../vdev_raidz_math_powerpc_altivec_common.h | 44 +++++++++----------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+diff --git a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
+index 46d42c5e241..f76eb47a9c6 100644
+--- a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
++++ b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h
+@@ -26,10 +26,6 @@
+ #include <sys/types.h>
+ #include <sys/simd.h>
+
+-#ifdef __linux__
+-#define __asm __asm__ __volatile__
+-#endif
+-
+ #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N
+ #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1)
+
+@@ -142,7 +138,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "lvx 19,0,%[SRC2]\n" \
+@@ -172,7 +168,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "lvx 19,0,%[SRC2]\n" \
+@@ -189,7 +185,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx 21,0,%[SRC0]\n" \
+ "lvx 20,0,%[SRC1]\n" \
+ "vxor " VR0(r) "," VR0(r) ",21\n" \
+@@ -208,7 +204,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR4(r) "," VR4(r) "," VR0(r) "\n" \
+ "vxor " VR5(r) "," VR5(r) "," VR1(r) "\n" \
+ "vxor " VR6(r) "," VR6(r) "," VR2(r) "\n" \
+@@ -217,7 +213,7 @@ typedef struct v {
+ : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR2(r) "," VR2(r) "," VR0(r) "\n" \
+ "vxor " VR3(r) "," VR3(r) "," VR1(r) "\n" \
+ : UVR2(r), UVR3(r) \
+@@ -232,7 +228,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -245,7 +241,7 @@ typedef struct v {
+ WVR4(r), WVR5(r), WVR6(r), WVR7(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -253,7 +249,7 @@ typedef struct v {
+ : WVR0(r), WVR1(r), WVR2(r), WVR3(r)); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \
+ "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \
+ : WVR0(r), WVR1(r)); \
+@@ -267,7 +263,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vor " VR4(r) "," VR0(r) "," VR0(r) "\n" \
+ "vor " VR5(r) "," VR1(r) "," VR1(r) "\n" \
+ "vor " VR6(r) "," VR2(r) "," VR2(r) "\n" \
+@@ -276,7 +272,7 @@ typedef struct v {
+ : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vor " VR2(r) "," VR0(r) "," VR0(r) "\n" \
+ "vor " VR3(r) "," VR1(r) "," VR1(r) "\n" \
+ : WVR2(r), WVR3(r) \
+@@ -291,7 +287,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ "lvx " VR2(r) " ,0,%[SRC2]\n" \
+@@ -312,7 +308,7 @@ typedef struct v {
+ [SRC7] "r" ((OFFSET(src, 112)))); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ "lvx " VR2(r) " ,0,%[SRC2]\n" \
+@@ -324,7 +320,7 @@ typedef struct v {
+ [SRC3] "r" ((OFFSET(src, 48)))); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "lvx " VR0(r) " ,0,%[SRC0]\n" \
+ "lvx " VR1(r) " ,0,%[SRC1]\n" \
+ : WVR0(r), WVR1(r) \
+@@ -340,7 +336,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 8: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ "stvx " VR2(r) " ,0,%[DST2]\n" \
+@@ -362,7 +358,7 @@ typedef struct v {
+ : "memory"); \
+ break; \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ "stvx " VR2(r) " ,0,%[DST2]\n" \
+@@ -375,7 +371,7 @@ typedef struct v {
+ : "memory"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "stvx " VR0(r) " ,0,%[DST0]\n" \
+ "stvx " VR1(r) " ,0,%[DST1]\n" \
+ : : [DST0] "r" ((OFFSET(dst, 0))), \
+@@ -400,7 +396,7 @@ typedef struct v {
+
+ #define MUL2_SETUP() \
+ { \
+- __asm( \
++ __asm__ __volatile__( \
+ "vspltisb " VR(16) ",14\n" \
+ "vspltisb " VR(17) ",15\n" \
+ "vaddubm " VR(16) "," VR(17) "," VR(16) "\n" \
+@@ -412,7 +408,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 4: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \
+ "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \
+ "vcmpgtsb 21," VR(17) "," VR2(r) "\n" \
+@@ -434,7 +430,7 @@ typedef struct v {
+ : "v18", "v19", "v20", "v21"); \
+ break; \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \
+ "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \
+ "vand 19,19," VR(16) "\n" \
+@@ -478,7 +474,7 @@ typedef struct v {
+ { \
+ switch (REG_CNT(r)) { \
+ case 2: \
+- __asm( \
++ __asm__ __volatile__( \
+ /* lts for upper part */ \
+ "vspltisb 15,15\n" \
+ "lvx 10,0,%[lt0]\n" \
diff --git a/sys-fs/zfs/zfs-2.1.7-r1.ebuild b/sys-fs/zfs/zfs-2.1.7-r1.ebuild
index 219f1c6e1d88..c17785b32c14 100644
--- a/sys-fs/zfs/zfs-2.1.7-r1.ebuild
+++ b/sys-fs/zfs/zfs-2.1.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ else
S="${WORKDIR}/${P%_rc?}"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
+ KEYWORDS="~amd64 ~arm64 ppc64 ~riscv ~sparc"
fi
fi
@@ -113,6 +113,9 @@ PATCHES=(
# systemd fixups
"${FILESDIR}"/2.1.7-dracut-include-systemd-overrides.patch
"${FILESDIR}"/2.1.7-systemd-zed-restart-always.patch
+
+ # https://github.com/openzfs/zfs/issues/14308
+ "${FILESDIR}"/2.1.7-ppc64-ieee128-compat.patch
)
pkg_pretend() {