summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc-12-subcmd-util.patch35
-rw-r--r--kernel-x86_64-fedora.config2
-rwxr-xr-xkernel.spec30
3 files changed, 59 insertions, 8 deletions
diff --git a/gcc-12-subcmd-util.patch b/gcc-12-subcmd-util.patch
new file mode 100644
index 000000000..ac063292e
--- /dev/null
+++ b/gcc-12-subcmd-util.patch
@@ -0,0 +1,35 @@
+From b3d2907a37c53f7379be8742bfbfe47aa2877bfc Mon Sep 17 00:00:00 2001
+From: "Justin M. Forbes" <jforbes@fedoraproject.org>
+Date: Thu, 27 Jan 2022 15:33:37 -0600
+Subject: [PATCH] Fix subcmd-util for gcc 12
+
+Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
+---
+ tools/lib/subcmd/subcmd-util.h | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/tools/lib/subcmd/subcmd-util.h b/tools/lib/subcmd/subcmd-util.h
+index 794a375dad36..7009fc176636 100644
+--- a/tools/lib/subcmd/subcmd-util.h
++++ b/tools/lib/subcmd/subcmd-util.h
+@@ -49,13 +49,12 @@ static NORETURN inline void die(const char *err, ...)
+
+ static inline void *xrealloc(void *ptr, size_t size)
+ {
+- void *ret = realloc(ptr, size);
+- if (!ret && !size)
+- ret = realloc(ptr, 1);
++ void *ret;
++ if (!size)
++ size = 1;
++ ret = realloc(ptr, size);
+ if (!ret) {
+ ret = realloc(ptr, size);
+- if (!ret && !size)
+- ret = realloc(ptr, 1);
+ if (!ret)
+ die("Out of memory, realloc failed");
+ }
+--
+2.34.1
+
diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config
index bd8733816..6849e0caf 100644
--- a/kernel-x86_64-fedora.config
+++ b/kernel-x86_64-fedora.config
@@ -1229,7 +1229,7 @@ CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-CONFIG_DEBUG_INFO_BTF=y
+# CONFIG_DEBUG_INFO_BTF is not set
# CONFIG_DEBUG_INFO_COMPRESSED is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_DWARF5 is not set
diff --git a/kernel.spec b/kernel.spec
index baed3ec2d..918494eca 100755
--- a/kernel.spec
+++ b/kernel.spec
@@ -77,7 +77,7 @@ Summary: The Linux kernel
# kernel release. (This includes prepatch or "rc" releases.)
# Set released_kernel to 0 when the upstream source tarball contains an
# unreleased kernel development snapshot.
-%global released_kernel 0
+%global released_kernel 1
# Set debugbuildsenabled to 1 to build separate base and debug kernels
# (on supported architectures). The kernel-debug-* subpackages will
@@ -119,6 +119,8 @@ Summary: The Linux kernel
%endif
# define buildid .local
+%define packager Thorsten Leemhuis https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories
+%define buildid .vanilla.1
%if 0%{?fedora}
@@ -155,7 +157,7 @@ Summary: The Linux kernel
# kernel PAE (only valid for ARM (lpae))
%define with_pae %{?_without_pae: 0} %{?!_without_pae: 1}
# kernel-debug
-%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
+%define with_debug %{?_with_debug: 1} %{?!_with_debug: 0}
# kernel-zfcpdump (s390 specific kernel for zfcpdump)
%define with_zfcpdump %{?_without_zfcpdump: 0} %{?!_without_zfcpdump: 1}
# kernel-doc
@@ -206,7 +208,7 @@ Summary: The Linux kernel
%define with_cross %{?_with_cross: 1} %{?!_with_cross: 0}
#
# build a release kernel on rawhide
-%define with_release %{?_with_release: 1} %{?!_with_release: 0}
+%define with_release %{?_without_release: 0} %{?!_without_release: 1}
# verbose build, i.e. no silent rules and V=1
%define with_verbose %{?_with_verbose: 1} %{?!_with_verbose: 0}
@@ -224,7 +226,7 @@ Summary: The Linux kernel
%define with_ipaclones %{?_without_ipaclones: 0} %{?!_without_ipaclones: 1}
# Want to build a vanilla kernel build without any non-upstream patches?
-%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
+%define with_vanilla %{?_without_vanilla: 0} %{?!_without_vanilla: 1}
%if 0%{?fedora}
# Kernel headers are being split out into a separate package
@@ -646,7 +648,7 @@ BuildConflicts: dwarves < 1.13
%undefine _debugsource_packages
%undefine _debuginfo_subpackages
%global _find_debuginfo_opts -r
-%global _missing_build_ids_terminate_build 1
+%global _missing_build_ids_terminate_build 0
%global _no_recompute_build_ids 1
%endif
%if %{with_kabidwchk} || %{with_kabidw_base}
@@ -860,6 +862,11 @@ Source4002: gating.yaml
Patch1: patch-%{patchversion}-redhat.patch
%endif
+# from kernel-ark
+Patch2: gcc-12-subcmd-util.patch
+# from https://lore.kernel.org/all/20220120233748.2062559-1-slyich@gmail.com/raw
+Patch3: gcc-12-objtool-check.patch
+
# empty final patch to facilitate testing of kernel patches
Patch999999: linux-kernel-test.patch
@@ -1392,7 +1399,7 @@ ApplyOptionalPatch()
mv linux-5.17-rc3 linux-%{KVERREL}
cd linux-%{KVERREL}
-cp -a %{SOURCE1} .
+# cp -a %{SOURCE1} .
%if !%{nopatches}
@@ -1401,6 +1408,11 @@ ApplyOptionalPatch patch-%{patchversion}-redhat.patch
ApplyOptionalPatch linux-kernel-test.patch
+%if 0%{?fedora} >= 36
+ApplyOptionalPatch gcc-12-subcmd-util.patch
+ApplyOptionalPatch gcc-12-objtool-check.patch
+%endif
+
# END OF PATCH APPLICATIONS
# Any further pre-build tree manipulations happen here.
@@ -2134,7 +2146,11 @@ BuildKernel() {
%ifnarch armv7hl
# Generate vmlinux.h and put it to kernel-devel path
- bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
+
+ # tmp disabled for vanilla builds, as it fails on x86_64 with
+ # "Error: failed to load BTF from vmlinux: No such file or directory"
+ # (and yes, the file exists)
+ # bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
%endif
# prune junk from kernel-devel