mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-01 06:21:56 -09:00
configs/qemu_mips*: backport a patch for GCC 15.x compatibility
Mips kernel maintainer merged a patch [1] for GCC 15.x compatibility
that will likely be merged upstream soon.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=0f4ae7c6ecb89bfda026d210dcf8216fb67d2333
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 97c7311c64)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
committed by
Thomas Perale
parent
869469e953
commit
c120eb5df0
@@ -0,0 +1,52 @@
|
|||||||
|
From c94606e06b54bc7b909fb342aa8dae732b50f5cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Sat, 29 Mar 2025 08:39:03 -0700
|
||||||
|
Subject: [PATCH] mips: Add -std= flag specified in KBUILD_CFLAGS to vdso
|
||||||
|
CFLAGS
|
||||||
|
|
||||||
|
GCC 15 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, mips/vdso code uses
|
||||||
|
its 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 as specified in KBUILD_CFLAGS 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.
|
||||||
|
|
||||||
|
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=0f4ae7c6ecb89bfda026d210dcf8216fb67d2333
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||||
|
[Romain: backport to 6.12.27]
|
||||||
|
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||||
|
---
|
||||||
|
arch/mips/vdso/Makefile | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
|
||||||
|
index b289b2c1b294..c729bd687804 100644
|
||||||
|
--- a/arch/mips/vdso/Makefile
|
||||||
|
+++ b/arch/mips/vdso/Makefile
|
||||||
|
@@ -27,6 +27,7 @@ endif
|
||||||
|
# offsets.
|
||||||
|
cflags-vdso := $(ccflags-vdso) \
|
||||||
|
$(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
|
||||||
|
+ $(filter -std=%,$(KBUILD_CFLAGS)) \
|
||||||
|
-O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
|
||||||
|
-mrelax-pic-calls $(call cc-option, -mexplicit-relocs) \
|
||||||
|
-fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
||||||
Reference in New Issue
Block a user