[PATCH v2] kbuild: add GCC stability warning

Samuel Rowberry posted 1 patch 3 days, 13 hours ago
Makefile | 13 +++++++++++++
1 file changed, 13 insertions(+)
[PATCH v2] kbuild: add GCC stability warning
Posted by Samuel Rowberry 3 days, 13 hours ago
Newer GCC versions are not fully compatible with the code.
Adding a warning lets users know without getting in the way
of setups where it is okay to use GCC 15 (or is needed.)

Signed-off-by: Samuel Rowberry <sprowdev@gmail.com>
---
v2:
 - Fixed line wrapping in commit desc

 Makefile | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Makefile b/Makefile
index 02902bcae..361b5a509 100644
--- a/Makefile
+++ b/Makefile
@@ -720,6 +720,19 @@ endif
 
 export KBUILD_MODULES KBUILD_BUILTIN
 
+# Version check on demand because configs can get stale
+# This check is GCC-only because that is standard
+# and if someone is using a custom setup, then it is
+# assumed that their setup works.
+ifeq ($(KBUILD_BUILTIN)$(KBUILD_MODULES),11)
+ifneq ($(findstring GCC,$(CC_VERSION_TEXT)),)
+CURRENT_CC_VERSION := $(shell $(CC) -dumpversion | cut -d. -f1)
+ifeq ($(shell expr $(CURRENT_CC_VERSION) \>= 15),1)
+$(warning "GCC $(CURRENT_CC_VERSION) detected. Please use GCC 11, 12, or 13 for stability.")
+endif
+endif
+endif
+
 ifdef need-config
 include include/config/auto.conf
 endif
-- 
2.53.0
Re: [PATCH v2] kbuild: add GCC stability warning
Posted by Nicolas Schier 3 days, 13 hours ago
Hi Samuel,

On Sun, Mar 29, 2026 at 01:21:39PM -0600, Samuel Rowberry wrote:
> Newer GCC versions are not fully compatible with the code.
> Adding a warning lets users know without getting in the way
> of setups where it is okay to use GCC 15 (or is needed.)

can you please elaborate, _why_ you state that gcc 15 is incompatible in
some ways?

> 
> Signed-off-by: Samuel Rowberry <sprowdev@gmail.com>
> ---
> v2:
>  - Fixed line wrapping in commit desc
> 
>  Makefile | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 02902bcae..361b5a509 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -720,6 +720,19 @@ endif
>  
>  export KBUILD_MODULES KBUILD_BUILTIN
>  
> +# Version check on demand because configs can get stale

kbuild already warns on compiler changes between kernel and out-of-tree
module builds, cp. Makefile target 'prepare'.

> +# This check is GCC-only because that is standard
> +# and if someone is using a custom setup, then it is
> +# assumed that their setup works.
> +ifeq ($(KBUILD_BUILTIN)$(KBUILD_MODULES),11)
> +ifneq ($(findstring GCC,$(CC_VERSION_TEXT)),)

What about CONFIG_CC_IS_GCC ?  Or ...

> +CURRENT_CC_VERSION := $(shell $(CC) -dumpversion | cut -d. -f1)

CONFIG_GCC_VERSION ?

> +ifeq ($(shell expr $(CURRENT_CC_VERSION) \>= 15),1)

ifeq ($(call gcc-min-version, $(CONFIG_GCC_VERSION)),y)   ?

> +$(warning "GCC $(CURRENT_CC_VERSION) detected. Please use GCC 11, 12, or 13 for stability.")

Why do you leave out gcc-14 here?

Kind regards

-- 
Nicolas
Re: [PATCH v2] kbuild: add GCC stability warning
Posted by Nathan Chancellor 3 days, 3 hours ago
On Sun, Mar 29, 2026 at 09:44:28PM +0200, Nicolas Schier wrote:
> Hi Samuel,
> 
> On Sun, Mar 29, 2026 at 01:21:39PM -0600, Samuel Rowberry wrote:
> > Newer GCC versions are not fully compatible with the code.
> > Adding a warning lets users know without getting in the way
> > of setups where it is okay to use GCC 15 (or is needed.)
> 
> can you please elaborate, _why_ you state that gcc 15 is incompatible in
> some ways?

Yeah, I don't think we should have something like this. GCC 15 works
perfectly fine for me and many others, so this warning will just be
noise for no purpose. If there is a problem you are seeing with GCC 15,
we should address it, not just say amorphously that there may be
incompatibilities. Same goes for any GCC version really.

Cheers,
Nathan