diff options
-rw-r--r-- | gcc-12-subcmd-util.patch | 35 | ||||
-rw-r--r-- | kernel-x86_64-fedora.config | 2 | ||||
-rwxr-xr-x | kernel.spec | 30 |
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 |