From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Vincent Fazio <vfazio@gmail.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>,
Romain Naour <romain.naour@gmail.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards
Date: Sun, 13 Aug 2023 18:07:52 +0200 [thread overview]
Message-ID: <20230813160752.GZ421096@scaer> (raw)
In-Reply-To: <20230813044750.5567-1-vfazio@gmail.com>
Vincent, All,
On 2023-08-12 23:47 -0500, Vincent Fazio spake thusly:
> Previously, it was possible to select an external toolchain that did not
> support the GCC arch tuning the user had selected. This is problematic
> because it can lead to confusing error messages during builds [0].
>
> Now, external toolchain selections will be filtered to only those that
> support the required GCC version specified by the target arch tuning.
>
> Note: this patch does not touch the Bootlin toolchain config file as it
> is generated by a script.
>
> Additional note: there is "soft" support for toolchains prior to GCC 4.8
> but there are no accompanying BR2_ARCH_NEEDS_GCC_AT_LEAST_X symbols.
> Instead of adding those, just use BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 which
> is the minimum GCC version with claimed support [1].
>
> [0]: https://lists.buildroot.org/pipermail/buildroot/2023-August/671877.html
> [1]: https://buildroot.org/downloads/manual/manual.html#requirement-mandatory
>
> Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Semantically, this is a fix, so Thomas and I agreed to apply it to
master.
Make it so: applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> .../toolchain-external-arm-aarch64-be/Config.in | 1 +
> .../toolchain-external-arm-aarch64/Config.in | 1 +
> .../toolchain-external-arm-arm/Config.in | 1 +
> .../toolchain-external-custom/Config.in.options | 16 ++++++++++++++++
> .../Config.in | 1 +
> .../toolchain-external-linaro-aarch64/Config.in | 1 +
> .../toolchain-external-linaro-arm/Config.in | 1 +
> .../toolchain-external-linaro-armeb/Config.in | 1 +
> .../toolchain-external-synopsys-arc/Config.in | 1 +
> 9 files changed, 24 insertions(+)
>
> diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
> index 62e5ea8667..466b1587c3 100644
> --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE
> bool "Arm AArch64 BE 12.2.rel1"
> depends on BR2_aarch64_be
> depends on BR2_HOSTARCH = "x86_64"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_INSTALL_LIBSTDCPP
> diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
> index 0c2e64192d..fc62b759e5 100644
> --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
> bool "Arm AArch64 12.2.rel1"
> depends on BR2_aarch64
> depends on BR2_HOSTARCH = "x86_64"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_INSTALL_LIBSTDCPP
> diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
> index 4aab41693d..9b314795cb 100644
> --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
> @@ -9,6 +9,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
> depends on BR2_ARM_CPU_HAS_NEON
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64"
> depends on BR2_ARM_EABIHF
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_INSTALL_LIBSTDCPP
> diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> index d82c9b8a41..0f4f5eef2e 100644
> --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> @@ -52,66 +52,82 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_13
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_12
> bool "12.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
> select BR2_TOOLCHAIN_GCC_AT_LEAST_12
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_11
> bool "11.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
> select BR2_TOOLCHAIN_GCC_AT_LEAST_11
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_10
> bool "10.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11
> select BR2_TOOLCHAIN_GCC_AT_LEAST_10
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_9
> bool "9.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
> select BR2_TOOLCHAIN_GCC_AT_LEAST_9
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_8
> bool "8.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
> select BR2_TOOLCHAIN_GCC_AT_LEAST_8
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_7
> bool "7.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_7
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_6
> bool "6.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
> select BR2_TOOLCHAIN_GCC_AT_LEAST_6
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_5
> bool "5.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> select BR2_TOOLCHAIN_GCC_AT_LEAST_5
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
> bool "4.9.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
> bool "4.8.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
> bool "4.7.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
> bool "4.6.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
> bool "4.5.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
> bool "4.4.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
> bool "4.3.x"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
>
> config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
> bool "older"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> help
> Use this option if your GCC version is older than any of the
> above.
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
> index 53d5dfd8f2..295a8987f1 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
> bool "Linaro AArch64 BE 2018.05"
> depends on BR2_aarch64_be
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_INSTALL_LIBSTDCPP
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> index c9b84b1d30..1b0ec7cd9f 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
> bool "Linaro AArch64 2018.05"
> depends on BR2_aarch64
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_INSTALL_LIBSTDCPP
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> index 015e92f17c..8b3b4c844e 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> @@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
> depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> depends on BR2_ARM_EABIHF
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_TOOLCHAIN_HAS_NATIVE_RPC
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> index b338a72bff..b143ee5e24 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> @@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
> depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> depends on BR2_ARM_EABIHF
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> select BR2_TOOLCHAIN_HAS_SSP
> select BR2_TOOLCHAIN_HAS_NATIVE_RPC
> diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> index c3483f331c..985e7b1710 100644
> --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
> bool "Synopsys ARC 2019.09 toolchain"
> depends on BR2_arc
> depends on BR2_HOSTARCH = "x86_64"
> + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
> select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> select BR2_INSTALL_LIBSTDCPP
> select BR2_ENABLE_LOCALE
> --
> 2.25.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2023-08-13 16:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-13 4:47 [Buildroot] [PATCH 1/1] toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards Vincent Fazio
2023-08-13 16:07 ` Yann E. MORIN [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230813160752.GZ421096@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=giulio.benetti@benettiengineering.com \
--cc=romain.naour@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vfazio@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox