Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/files/, sys-fs/zfs-kmod/
Date: Thu, 30 Jun 2022 10:38:01
Message-Id: 1656585469.468b165fb4ef100a9fb630dffa4feda1ed3089c5.sam@gentoo
1 commit: 468b165fb4ef100a9fb630dffa4feda1ed3089c5
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 30 10:37:42 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 30 10:37:49 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=468b165f
7
8 sys-fs/zfs-kmod: backport build fixes
9
10 Closes: https://bugs.gentoo.org/855182
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 sys-fs/zfs-kmod/files/2.1.5-build-issues.patch | 74 ++++++++++++++++++++++++++
14 sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild | 5 ++
15 2 files changed, 79 insertions(+)
16
17 diff --git a/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch
18 new file mode 100644
19 index 000000000000..cca6561b16f7
20 --- /dev/null
21 +++ b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch
22 @@ -0,0 +1,74 @@
23 +https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a
24 +https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f
25 +Cherry-picked from https://github.com/openzfs/zfs/pull/13575
26 +
27 +https://bugs.gentoo.org/855182
28 +--- a/config/always-compiler-options.m4
29 ++++ b/config/always-compiler-options.m4
30 +@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [
31 + AC_SUBST([NO_OMIT_FRAME_POINTER])
32 + ])
33 +
34 ++dnl #
35 ++dnl # Check if cc supports -Winfinite-recursion option.
36 ++dnl #
37 ++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [
38 ++ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion])
39 ++
40 ++ saved_flags="$CFLAGS"
41 ++ CFLAGS="$CFLAGS -Werror -Winfinite-recursion"
42 ++
43 ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
44 ++ INFINITE_RECURSION=-Winfinite-recursion
45 ++ AC_DEFINE([HAVE_INFINITE_RECURSION], 1,
46 ++ [Define if compiler supports -Winfinite-recursion])
47 ++ AC_MSG_RESULT([yes])
48 ++ ], [
49 ++ INFINITE_RECURSION=
50 ++ AC_MSG_RESULT([no])
51 ++ ])
52 ++
53 ++ CFLAGS="$saved_flags"
54 ++ AC_SUBST([INFINITE_RECURSION])
55 ++])
56 ++
57 + dnl #
58 + dnl # Check if cc supports -fno-ipa-sra option.
59 + dnl #
60 +--- a/config/zfs-build.m4
61 ++++ b/config/zfs-build.m4
62 +@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
63 +
64 + ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
65 + ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
66 ++ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION
67 + ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
68 + ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
69 + ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
70 +--- a/module/lua/ldo.c
71 ++++ b/module/lua/ldo.c
72 +@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
73 + L->top = oldtop + 1;
74 + }
75 +
76 ++/*
77 ++ * Silence infinite recursion warning which was added to -Wall in gcc 12.1
78 ++ */
79 ++#if defined(HAVE_INFINITE_RECURSION)
80 ++#pragma GCC diagnostic push
81 ++#pragma GCC diagnostic ignored "-Winfinite-recursion"
82 ++#endif
83 +
84 + l_noret luaD_throw (lua_State *L, int errcode) {
85 + if (L->errorJmp) { /* thread has an error handler? */
86 +@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) {
87 + }
88 + }
89 +
90 ++#if defined(HAVE_INFINITE_RECURSION)
91 ++#pragma GCC diagnostic pop
92 ++#endif
93 ++
94 +
95 + int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
96 + unsigned short oldnCcalls = L->nCcalls;
97
98 diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
99 index 65567e49fef7..ac917091d0b4 100644
100 --- a/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
101 +++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
102 @@ -62,6 +62,11 @@ RESTRICT="debug? ( strip ) test"
103
104 DOCS=( AUTHORS COPYRIGHT META README.md )
105
106 +PATCHES=(
107 + # bug #855182
108 + "${FILESDIR}"/${PV}-build-issues.patch
109 +)
110 +
111 pkg_pretend() {
112 use rootfs || return 0