summaryrefslogtreecommitdiffstats
path: root/meta-filesystems/recipes-filesystems
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-05-23 09:43:59 -0700
committerKhem Raj <raj.khem@gmail.com>2023-05-28 16:35:00 -0700
commitfe103d43228d5f3f9d9fac573cbc5c5521f8ee49 (patch)
tree400e605369f24b309950c83632cca82c0198257b /meta-filesystems/recipes-filesystems
parentcf298e28e9b1f29fbaa2f021b22ee68db7e0488f (diff)
downloadmeta-openembedded-fe103d43228d5f3f9d9fac573cbc5c5521f8ee49.tar.gz
zfs: Add a patch to fix aarch64 build with gcc13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-filesystems/recipes-filesystems')
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch54
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb1
2 files changed, 55 insertions, 0 deletions
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch
new file mode 100644
index 0000000000..f682a412ae
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch
@@ -0,0 +1,54 @@
1From aaf28a4630af60496c9d33db1d06a7d7d8983422 Mon Sep 17 00:00:00 2001
2From: Sebastian Gottschall <s.gottschall@dd-wrt.com>
3Date: Tue, 23 May 2023 13:50:24 +0600
4Subject: [PATCH] fixes broken aarch64 inline assembly for gcc 13.1
5
6fixes the following error
7
8/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:549:24: error: the register specified for 'w7' is not general enough to be used as a register variable
9 549 | register unsigned char w7 asm("v7") __attribute__((vector_size(16)));
10 | ^~
11/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:193:9: note: in expansion of macro 'GEN_X_DEFINE_6_7'
12 193 | GEN_X_DEFINE_6_7() \
13 | ^~~~~~~~~~~~~~~~
14/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
15 1360 | REC_PQR_DEFINE();
16 | ^~~~~~~~~~~~~~
17/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:551:24: error: the register specified for 'w8' is not general enough to be used as a register variable
18 551 | register unsigned char w8 asm("v8") __attribute__((vector_size(16))); \
19 | ^~
20/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9'
21 194 | GEN_X_DEFINE_8_9() \
22 | ^~~~~~~~~~~~~~~~
23/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
24 1360 | REC_PQR_DEFINE();
25 | ^~~~~~~~~~~~~~
26/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:552:24: error: the register specified for 'w9' is not general enough to be used as a register variable
27 552 | register unsigned char w9 asm("v9") __attribute__((vector_size(16)));
28 | ^~
29/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9'
30 194 | GEN_X_DEFINE_8_9() \
31 | ^~~~~~~~~~~~~~~~
32/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
33 1360 | REC_PQR_DEFINE();
34
35Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
36---
37Source: https://github.com/BrainSlayer/zfs/commit/aaf28a4630af60496c9d33db1d06a7d7d8983422
38
39 module/Kbuild.in | 6 +++---
40 1 file changed, 3 insertions(+), 3 deletions(-)
41
42--- a/module/Kbuild.in
43+++ b/module/Kbuild.in
44@@ -44,4 +44,10 @@ endif
45 subdir-asflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS)
46 subdir-ccflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS)
47
48+ifeq ($(CONFIG_ARM64),y)
49+CFLAGS_REMOVE_zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only
50+CFLAGS_REMOVE_vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only
51+CFLAGS_REMOVE_vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only
52+endif
53+
54 endif
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
index 573561db25..cd694c3196 100644
--- a/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
@@ -6,6 +6,7 @@ HOMEPAGE ="https://github.com/openzfs/zfs"
6 6
7SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ 7SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
8 file://0001-Define-strndupa-if-it-does-not-exist.patch \ 8 file://0001-Define-strndupa-if-it-does-not-exist.patch \
9 file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \
9" 10"
10SRC_URI[sha256sum] = "6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6" 11SRC_URI[sha256sum] = "6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6"
11 12