All of lore.kernel.org
 help / color / mirror / Atom feed
From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 4/8] toolchain/external: hide versions too old for the current arch
Date: Sat, 7 Oct 2017 11:57:48 +0200	[thread overview]
Message-ID: <ae5be870-2ae4-966f-0cd6-261d02db7d1d@gmail.com> (raw)
In-Reply-To: <56ab77ea28f24c9495de8a7ca8822c61a1642f97.1504431850.git.yann.morin.1998@free.fr>

Yann, All,

This patch needs to be rebased on master after the last linaro toolchain version
bump (sorry ;-) )

Le 03/09/2017 ? 11:44, Yann E. MORIN a ?crit?:
> Hide the toolchains if the arch requires a gcc version more recent
> than the one they provide.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  .../toolchain-external/toolchain-external-codescape-img-mips/Config.in  | 1 +
>  .../toolchain-external/toolchain-external-codescape-mti-mips/Config.in  | 1 +
>  .../toolchain-external-codesourcery-aarch64/Config.in                   | 1 +
>  .../toolchain-external/toolchain-external-codesourcery-amd64/Config.in  | 1 +
>  .../toolchain-external/toolchain-external-codesourcery-arm/Config.in    | 2 ++
>  .../toolchain-external/toolchain-external-codesourcery-mips/Config.in   | 2 ++
>  .../toolchain-external/toolchain-external-codesourcery-niosII/Config.in | 1 +
>  .../toolchain-external/toolchain-external-linaro-aarch64/Config.in      | 1 +
>  toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in    | 2 ++
>  toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in  | 2 ++
>  toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in  | 1 +
>  11 files changed, 15 insertions(+)
> 
> diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
> index e29c4dcb87..8b2eab0ad2 100644
> --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
>  	bool "Codescape IMG GNU Linux Toolchain 2016.05"
>  	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el

Having

> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5

and
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

looks redundant...

Also where BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 is selected when you use a packaged
toolchain ?
With the complete series applied I can't select a packaged external toolchain.

Try with to select the Linaro toolchain with this defconfig:

BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y

Best regards,
Romain

>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
>  	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
> index efe6f8527e..db191fd1be 100644
> --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
>  	bool "Codescape MTI GNU Linux Toolchain 2016.05"
>  	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
>  		BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> index 66a032e9ac..24cbcffa29 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
>  	bool "CodeSourcery AArch64 2014.11"
>  	depends on BR2_aarch64
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
>  	# a57/a53 and a72/a53 appeared in gcc-6 or were broken before
>  	depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
> index 101e227af9..50c5a20019 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
>  	bool "Sourcery CodeBench AMD64 2016.11"
>  	depends on BR2_x86_64
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on !BR2_STATIC_LIBS
>  	depends on BR2_x86_jaguar || BR2_x86_steamroller
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
> index e1a7891007..b91daa5c81 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
>  	bool "Sourcery CodeBench ARM 2014.05"
>  	depends on BR2_arm
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
>  	# a15/a7 appeared in gcc-4.9, a17/a7 in gcc-5, a57/a53 and a72/a53
>  	# in gcc-6, or they each were broken earlier than that.
>  	depends on !BR2_cortex_a15_a7 && !BR2_cortex_a17_a7
> @@ -35,5 +36,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
>  
>  comment "Sourcery CodeBench toolchains available for the EABI ABI"
>  	depends on BR2_arm
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
>  	depends on !BR2_ARM_EABI
>  	depends on !BR2_STATIC_LIBS
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
> index 6a13ae6cd6..734f0e4c7c 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in
> @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
>  	bool "Sourcery CodeBench MIPS 2016.05"
>  	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
>  	depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
>  	# Unsupported MIPS cores
>  	depends on !BR2_mips_interaptiv
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> @@ -89,5 +90,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
>  	      Select BR2_SOFT_FLOAT
>  
>  comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
>  	depends on BR2_MIPS_NABI32
>  	depends on !BR2_STATIC_LIBS
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in
> index 341bc2ab44..7563995eb6 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
>  	bool "Sourcery CodeBench Nios-II 2017.05"
>  	depends on BR2_nios2
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on !BR2_STATIC_LIBS
>  	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> index caa5ed340a..71ae73adb8 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
>  	bool "Linaro AArch64 2017.02"
>  	depends on BR2_aarch64
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on !BR2_STATIC_LIBS
>  	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> index f538eb7eb3..f5bbbaaad8 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in
> @@ -1,11 +1,13 @@
>  comment "Linaro toolchains available for Cortex-A + EABIhf"
>  	depends on BR2_arm
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
>  	depends on !BR2_STATIC_LIBS
>  
>  config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
>  	bool "Linaro ARM 2017.02"
>  	depends on BR2_arm
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on BR2_ARM_EABIHF
> diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> index 14c7481f81..64e97eeea7 100644
> --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in
> @@ -1,11 +1,13 @@
>  comment "Linaro toolchains available for Cortex-A + EABIhf"
>  	depends on BR2_armeb
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
>  	depends on !BR2_STATIC_LIBS
>  
>  config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
>  	bool "Linaro armeb 2017.02"
>  	depends on BR2_armeb
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8
>  	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>  	depends on BR2_ARM_EABIHF
> diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> index f438ea765d..8e4344a83d 100644
> --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
>  	bool "Synopsys ARC 2016.09 toolchain"
>  	depends on BR2_arc
> +	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	depends on BR2_HOSTARCH = "x86_64"
>  	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
>  	select BR2_INSTALL_LIBSTDCPP
> 

  reply	other threads:[~2017-10-07  9:57 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-03  9:22 [Buildroot] [PATCH 0/5 v2] arch: not all have support in the internal backend Yann E. MORIN
2017-09-03  9:22 ` [Buildroot] [PATCH 1/5 v2] arch: add option to disable internal toolchain backend Yann E. MORIN
2017-09-03  9:22 ` [Buildroot] [PATCH 2/5 v2] arch/csky: internal backend not suitable Yann E. MORIN
2017-09-03  9:22 ` [Buildroot] [PATCH 3/5 v2] arch/mips: internal backend not suitable for some cores Yann E. MORIN
2017-09-03  9:22 ` [Buildroot] [PATCH 4/5 v2] arch/bfin: " Yann E. MORIN
2017-09-03  9:22 ` [Buildroot] [PATCH 5/5 v2] arc/bfin: remove 60x cores Yann E. MORIN
2017-09-03  9:44 ` [Buildroot] [PATCH 0/8] arch: some require a minimal gcc version Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 1/8] arch: introduce minimal required " Yann E. MORIN
2017-10-07  9:59     ` Romain Naour
2017-10-07 10:26       ` Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 2/8] package/gcc: hide versions too old for the current arch Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 3/8] toolchain/external-custom: " Yann E. MORIN
2017-10-07  9:27     ` Romain Naour
2017-10-07 12:27       ` Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 4/8] toolchain/external: " Yann E. MORIN
2017-10-07  9:57     ` Romain Naour [this message]
2017-10-07 12:15       ` Yann E. MORIN
2017-10-07 19:55         ` Romain Naour
2017-09-03  9:44   ` [Buildroot] [PATCH 5/8] arch/bfin: needs gcc >= 6 Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 6/8] arch/mips: some variants need different gcc versions Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 7/8] arch/arm: " Yann E. MORIN
2017-09-03  9:44   ` [Buildroot] [PATCH 8/8] package/gcc: slight cleanup and reorg in remaining arch depends Yann E. MORIN
2017-09-03  9:53   ` [Buildroot] [PATCH 0/3] arch: fix MIPS NaN and floating-point handling Yann E. MORIN
2017-09-03  9:53     ` [Buildroot] [PATCH 1/3] arch/mips: inverse the NaN logic Yann E. MORIN
2017-10-07 10:18       ` Romain Naour
2017-10-07 12:22         ` Yann E. MORIN
2017-10-07 18:43           ` Romain Naour
2017-09-03  9:53     ` [Buildroot] [PATCH 2/3] arch/mips: inverse the mfpxx logic Yann E. MORIN
2017-09-03  9:53     ` [Buildroot] [PATCH 3/3] toolchain/buildroot: glibc requires header >= 4.5 with NaN-2008 Yann E. MORIN
2017-09-03 13:17     ` [Buildroot] [pull request] arch/arm: add some new armv8a cores Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 1/9] arch/arm: re-order cores choice Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 2/9] arch/arm: simplify hiding non 64-bit cores Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 3/9] arch/arm: armv8 is really armv8a Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 4/9] arch/arm: do not allow soft-float for armv8a Yann E. MORIN
2017-09-04 17:21         ` Yann E. MORIN
2017-11-24 22:08           ` Thomas Petazzoni
2017-11-25 17:10             ` Arnout Vandecappelle
2017-11-26 11:12               ` Yann E. MORIN
2017-11-26 11:18                 ` Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 5/9] arch/arm: add cortex-A32 Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 6/9] arch/arm: add some armv8a cortex variants Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 7/9] arch/arm: add some non-cortex armv8a cores Yann E. MORIN
2017-09-03 14:04         ` Thomas Petazzoni
2017-09-03 15:16           ` Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 8/9] arch/arm: add armv8.1a cores Yann E. MORIN
2017-09-03 13:17       ` [Buildroot] [PATCH 9/9] [DON'T COMMIT] tests for all new arm cores Yann E. MORIN
2017-09-03 13:24       ` [Buildroot] [pull request] arch/arm: add some new armv8a cores Yann E. MORIN
2017-11-24 22:32       ` Thomas Petazzoni
2017-11-24 21:58     ` [Buildroot] [PATCH 0/3] arch: fix MIPS NaN and floating-point handling Thomas Petazzoni
2017-11-24 21:23   ` [Buildroot] [PATCH 0/8] arch: some require a minimal gcc version Thomas Petazzoni
2017-10-02 19:47 ` [Buildroot] [PATCH 0/5 v2] arch: not all have support in the internal backend Thomas Petazzoni

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=ae5be870-2ae4-966f-0cd6-261d02db7d1d@gmail.com \
    --to=romain.naour@gmail.com \
    --cc=buildroot@busybox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.