From 32d90fe5b39f8248e9493a4d9bf953db04a28538 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 14 Feb 2025 12:50:33 +0000 Subject: [PATCH] Revert "linux (Generic): backport patches from 6.14 Use std-gnu11 to fix build with GCC-15" Patches now included in 6.12.14 This reverts commit f1715f62c9cbc59604a789d03a2de11ab05cda57. --- ...e-std-gnu11-to-fix-build-with-GCC-15.patch | 52 ------------------- ...e-std-gnu11-to-fix-build-with-GCC-15.patch | 52 ------------------- 2 files changed, 104 deletions(-) delete mode 100644 projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch delete mode 100644 projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch diff --git a/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch b/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch deleted file mode 100644 index 8b874fff84..0000000000 --- a/projects/Generic/patches/linux/0001-x86-boot-Use-std-gnu11-to-fix-build-with-GCC-15.patch +++ /dev/null @@ -1,52 +0,0 @@ -From d958328c685e36d47032960ee7f706120b280ee4 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Tue, 21 Jan 2025 18:11:33 -0700 -Subject: [PATCH 1/2] x86/boot: Use '-std=gnu11' to fix build with GCC 15 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 15 changed the default C standard version to C23, which should not -have impacted the kernel because it requests the gnu11 standard via -'-std=' in the main Makefile. However, the x86 compressed boot Makefile -uses its own set of KBUILD_CFLAGS without a '-std=' value (i.e., using -the default), resulting in errors from the kernel's definitions of bool, -true, and false in stddef.h, which are reserved keywords under C23. - - ./include/linux/stddef.h:11:9: error: expected identifier before ‘false’ - 11 | false = 0, - ./include/linux/types.h:35:33: error: two or more data types in declaration specifiers - 35 | typedef _Bool bool; - -Set '-std=gnu11' in the x86 compressed boot Makefile to resolve the -error and consistently use the same C standard version for the entire -kernel. - -Closes: https://lore.kernel.org/4OAhbllK7x4QJGpZjkYjtBYNLd_2whHx9oFiuZcGwtVR4hIzvduultkgfAIRZI3vQpZylu7Gl929HaYFRGeMEalWCpeMzCIIhLxxRhq4U-Y=@protonmail.com/ -Closes: https://lore.kernel.org/Z4467umXR2PZ0M1H@tucnak/ -Reported-by: Kostadin Shishmanov -Reported-by: Jakub Jelinek -Signed-off-by: Nathan Chancellor -Signed-off-by: Dave Hansen -Reviewed-by: Ard Biesheuvel -Cc:stable@vger.kernel.org -Link: https://lore.kernel.org/all/20250121-x86-use-std-consistently-gcc-15-v1-1-8ab0acf645cb%40kernel.org ---- - arch/x86/boot/compressed/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile -index f2051644de94..606c74f27459 100644 ---- a/arch/x86/boot/compressed/Makefile -+++ b/arch/x86/boot/compressed/Makefile -@@ -25,6 +25,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ - # avoid errors with '-march=i386', and future flags may depend on the target to - # be valid. - KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS) -+KBUILD_CFLAGS += -std=gnu11 - KBUILD_CFLAGS += -fno-strict-aliasing -fPIE - KBUILD_CFLAGS += -Wundef - KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING --- -2.43.0 - diff --git a/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch b/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch deleted file mode 100644 index dbfaed9805..0000000000 --- a/projects/Generic/patches/linux/0002-efi-libstub-Use-std-gnu11-to-fix-build-with-GCC-15.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0c157e7a64470c450f6032fcfe7720568fb1b237 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Tue, 21 Jan 2025 18:11:34 -0700 -Subject: [PATCH 2/2] efi: libstub: Use '-std=gnu11' to fix build with GCC 15 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 15 changed the default C standard version to C23, which should not -have impacted the kernel because it requests the gnu11 standard via -'-std=' in the main Makefile. However, the EFI libstub Makefile uses its -own set of KBUILD_CFLAGS for x86 without a '-std=' value (i.e., using -the default), resulting in errors from the kernel's definitions of bool, -true, and false in stddef.h, which are reserved keywords under C23. - - ./include/linux/stddef.h:11:9: error: expected identifier before ‘false’ - 11 | false = 0, - ./include/linux/types.h:35:33: error: two or more data types in declaration specifiers - 35 | typedef _Bool bool; - -Set '-std=gnu11' in the x86 cflags to resolve the error and consistently -use the same C standard version for the entire kernel. All other -architectures reuse KBUILD_CFLAGS from the rest of the kernel, so this -issue is not visible for them. - -Cc: stable@vger.kernel.org -Reported-by: Kostadin Shishmanov -Closes: https://lore.kernel.org/4OAhbllK7x4QJGpZjkYjtBYNLd_2whHx9oFiuZcGwtVR4hIzvduultkgfAIRZI3vQpZylu7Gl929HaYFRGeMEalWCpeMzCIIhLxxRhq4U-Y=@protonmail.com/ -Reported-by: Jakub Jelinek -Closes: https://lore.kernel.org/Z4467umXR2PZ0M1H@tucnak/ -Signed-off-by: Nathan Chancellor -Signed-off-by: Ard Biesheuvel ---- - drivers/firmware/efi/libstub/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile -index ed4e8ddbe76a..1141cd06011f 100644 ---- a/drivers/firmware/efi/libstub/Makefile -+++ b/drivers/firmware/efi/libstub/Makefile -@@ -11,7 +11,7 @@ cflags-y := $(KBUILD_CFLAGS) - - cflags-$(CONFIG_X86_32) := -march=i386 - cflags-$(CONFIG_X86_64) := -mcmodel=small --cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ \ -+cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -std=gnu11 \ - -fPIC -fno-strict-aliasing -mno-red-zone \ - -mno-mmx -mno-sse -fshort-wchar \ - -Wno-pointer-sign \ --- -2.43.0 -