Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 4/8] toolchain/external: hide versions too old for the current arch
Date: Sat, 7 Oct 2017 14:15:00 +0200	[thread overview]
Message-ID: <20171007121500.GG21901@scaer> (raw)
In-Reply-To: <ae5be870-2ae4-966f-0cd6-261d02db7d1d@gmail.com>

Romain, All,

On 2017-10-07 11:57 +0200, Romain Naour spake thusly:
> 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...

It might, but this serves two different purposes.

> Also where BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 is selected when you use a packaged
> toolchain ?

The architectures do. Either the full arch, or individual cores.

> 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

Weird, it works for me:

    $ make defconfig BR2_DEFCONFIG=$(pwd)/kubu.defconfig
    $ grep LINARO .config
    BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y

Regards,
Yann E. MORIN.

> 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
> > 
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2017-10-07 12:15 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
2017-10-07 12:15       ` Yann E. MORIN [this message]
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=20171007121500.GG21901@scaer \
    --to=yann.morin.1998@free.fr \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox