diff options
-rw-r--r-- | queue-5.4/s390-add-std-gnu11-to-decompressor-and-purgatory-cflags.patch | 64 | ||||
-rw-r--r-- | queue-5.4/series | 1 |
2 files changed, 65 insertions, 0 deletions
diff --git a/queue-5.4/s390-add-std-gnu11-to-decompressor-and-purgatory-cflags.patch b/queue-5.4/s390-add-std-gnu11-to-decompressor-and-purgatory-cflags.patch new file mode 100644 index 0000000000..5661a0150f --- /dev/null +++ b/queue-5.4/s390-add-std-gnu11-to-decompressor-and-purgatory-cflags.patch @@ -0,0 +1,64 @@ +From 3b8b80e993766dc96d1a1c01c62f5d15fafc79b9 Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor <nathan@kernel.org> +Date: Wed, 22 Jan 2025 19:54:27 -0700 +Subject: s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS + +From: Nathan Chancellor <nathan@kernel.org> + +commit 3b8b80e993766dc96d1a1c01c62f5d15fafc79b9 upstream. + +GCC changed the default C standard dialect from gnu17 to gnu23, +which should not have impacted the kernel because it explicitly requests +the gnu11 standard in the main Makefile. However, there are certain +places in the s390 code that use their own CFLAGS without a '-std=' +value, which break with this dialect change because of the kernel's own +definitions of bool, false, and true conflicting with the C23 reserved +keywords. + + include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant + 11 | false = 0, + | ^~~~~ + include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards + include/linux/types.h:35:33: error: 'bool' cannot be defined via 'typedef' + 35 | typedef _Bool bool; + | ^~~~ + include/linux/types.h:35:33: note: 'bool' is a keyword with '-std=c23' onwards + +Add '-std=gnu11' to the decompressor and purgatory CFLAGS to eliminate +these errors and make the C standard version of these areas match the +rest of the kernel. + +Cc: stable@vger.kernel.org +Signed-off-by: Nathan Chancellor <nathan@kernel.org> +Tested-by: Heiko Carstens <hca@linux.ibm.com> +Link: https://lore.kernel.org/r/20250122-s390-fix-std-for-gcc-15-v1-1-8b00cadee083@kernel.org +Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> +Signed-off-by: Heiko Carstens <hca@linux.ibm.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + arch/s390/Makefile | 2 +- + arch/s390/purgatory/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/s390/Makefile ++++ b/arch/s390/Makefile +@@ -23,7 +23,7 @@ endif + aflags_dwarf := -Wa,-gdwarf-2 + KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__ + KBUILD_AFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),$(aflags_dwarf)) +-KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 ++KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -std=gnu11 + KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY + KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float + KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables +--- a/arch/s390/purgatory/Makefile ++++ b/arch/s390/purgatory/Makefile +@@ -20,7 +20,7 @@ GCOV_PROFILE := n + UBSAN_SANITIZE := n + KASAN_SANITIZE := n + +-KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes ++KBUILD_CFLAGS := -std=gnu11 -fno-strict-aliasing -Wall -Wstrict-prototypes + KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare + KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding + KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common diff --git a/queue-5.4/series b/queue-5.4/series index 971e150827..84b9aad974 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -57,3 +57,4 @@ drm-tegra-assign-plane-type-before-registration.patch drm-bridge-cdns-dsi-fix-the-clock-variable-for-mode_valid.patch drm-bridge-cdns-dsi-fix-connecting-to-next-bridge.patch drm-bridge-cdns-dsi-check-return-value-when-getting-default-phy-config.patch +s390-add-std-gnu11-to-decompressor-and-purgatory-cflags.patch |