diff mbox series

[1/2] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_14

Message ID 20231227171343.2903354-1-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series [1/2] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_14 | expand

Commit Message

Thomas Petazzoni Dec. 27, 2023, 5:13 p.m. UTC
Since commit
a0d2a5cfec0ade7cb577cbff25aac289e746e61b ("support/scripts/gen-bootlin-toolchains:
generate BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard"), the
gen-bootlin-toolchains script will generate references to
BR2_ARCH_NEEDS_GCC_AT_LEAST_X including potentially against the "next"
version of gcc.

Indeed, a toolchain using gcc 13.x should have a "depends on
!BR2_ARCH_NEEDS_GCC_AT_LEAST_14" so that once some architectures that
require gcc 14.x are added, such toolchains are not made visible.

In order for this to work, we must have the
BR2_ARCH_NEEDS_GCC_AT_LEAST_x symbol ready for the N+1 version of gcc
compared to the latest one we support.

As we're supporting up to gcc 13.x right now, let's introduce the
symbol BR2_ARCH_NEEDS_GCC_AT_LEAST_14 so that gcc 13.x toolchains can
be marked depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14.

The other alternative would be to make the gen-bootlin-toolchains a
bit smarter, and not emit this depends on
!BR2_ARCH_NEEDS_GCC_AT_LEAST_14 if BR2_ARCH_NEEDS_GCC_AT_LEAST_14 does
not exist. But this would require re-running the script when
BR2_ARCH_NEEDS_GCC_AT_LEAST_14 which we are unlikely to do. While
today, when the script is invoked, the usual check-symbols complains
and reminds us that BR2_ARCH_NEEDS_GCC_AT_LEAST_14 should be added, so
we remember to do it right away.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 arch/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Yann E. MORIN Dec. 28, 2023, 9:04 p.m. UTC | #1
Thomas, All,

On 2023-12-27 18:13 +0100, Thomas Petazzoni via buildroot spake thusly:
> Since commit
> a0d2a5cfec0ade7cb577cbff25aac289e746e61b ("support/scripts/gen-bootlin-toolchains:
> generate BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard"), the
> gen-bootlin-toolchains script will generate references to
> BR2_ARCH_NEEDS_GCC_AT_LEAST_X including potentially against the "next"
> version of gcc.
> 
> Indeed, a toolchain using gcc 13.x should have a "depends on
> !BR2_ARCH_NEEDS_GCC_AT_LEAST_14" so that once some architectures that
> require gcc 14.x are added, such toolchains are not made visible.
> 
> In order for this to work, we must have the
> BR2_ARCH_NEEDS_GCC_AT_LEAST_x symbol ready for the N+1 version of gcc
> compared to the latest one we support.
> 
> As we're supporting up to gcc 13.x right now, let's introduce the
> symbol BR2_ARCH_NEEDS_GCC_AT_LEAST_14 so that gcc 13.x toolchains can
> be marked depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14.
> 
> The other alternative would be to make the gen-bootlin-toolchains a
> bit smarter, and not emit this depends on
> !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 if BR2_ARCH_NEEDS_GCC_AT_LEAST_14 does
> not exist. But this would require re-running the script when
> BR2_ARCH_NEEDS_GCC_AT_LEAST_14 which we are unlikely to do. While
> today, when the script is invoked, the usual check-symbols complains
> and reminds us that BR2_ARCH_NEEDS_GCC_AT_LEAST_14 should be added, so
> we remember to do it right away.

I was originally of the opinion that we should make the script smarte
and not emit missing sumbols, buth the rationale you put forward has
convinced me.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  arch/Config.in | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/Config.in b/arch/Config.in
> index e37f4dab1d..9912f9fce6 100644
> --- a/arch/Config.in
> +++ b/arch/Config.in
> @@ -313,6 +313,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_13
>  	bool
>  	select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
>  
> +config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
> +	bool
> +	select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
> +
>  # The following string values are defined by the individual
>  # Config.in.$ARCH files
>  config BR2_ARCH
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/arch/Config.in b/arch/Config.in
index e37f4dab1d..9912f9fce6 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -313,6 +313,10 @@  config BR2_ARCH_NEEDS_GCC_AT_LEAST_13
 	bool
 	select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
 
+config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
+	bool
+	select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
+
 # The following string values are defined by the individual
 # Config.in.$ARCH files
 config BR2_ARCH