From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/8] arch: introduce minimal required gcc version
Date: Sat, 7 Oct 2017 12:26:16 +0200 [thread overview]
Message-ID: <20171007102616.GF21901@scaer> (raw)
In-Reply-To: <e500946f-2c07-e7a5-99ee-68b5611cc14d@gmail.com>
Romain, All,
On 2017-10-07 11:59 +0200, Romain Naour spake thusly:
> Le 03/09/2017 ? 11:44, Yann E. MORIN a ?crit?:
> > Some CPU variants require that a recent-enough gcc be selected. For
> > example, ARM's cortex-a35 requires gcc-5, while cortex-a73 requires
> > gcc-7. Same goes for other architectures, of course.
> >
> > Currently, we hard-code every such conditions in the gcc version choice,
> > as well as in the individual external toolchains.
> >
> > However, as we add even more CPU variants, the conditions are getting
> > more and more complex to write and maintain.
> >
> > Introduce new symbols, that architectures can select if they have a
> > specific requirement on the gcc version. gcc and external toolchains
> > can then properly depend on those symbols.
> >
> > The burden of maintaining the requirements on the gcc version now falls
> > down to the architeture, instead of being split up in gcc and all the
> > external toolchains.
> >
> > As the oldest gcc version to handle, we can either choose gcc-4.9, as
> > the odlest version we support in our internal toolchain, or choose
> > gcc-4.8, as the oldest external toolchain we support (except for the
> > custom ones, but they'll be handled specifically in upcoming changes).
> > We choose to go back up to gcc-4.8.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > ---
> > arch/Config.in | 21 +++++++++++++++++++++
> > 1 file changed, 21 insertions(+)
> >
> > diff --git a/arch/Config.in b/arch/Config.in
> > index c10bf16809..607da36c1d 100644
> > --- a/arch/Config.in
> > +++ b/arch/Config.in
> > @@ -261,6 +261,27 @@ config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
> > bool
> > default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
> >
> > +# The following symbols are selected by the individual
> > +# Config.in.$ARCH files
>
> I believe something is missing from this patch.
Nope, this patch only adds the symbols. The follow-up patches convert
the individual architectures, one by one, over to using them.
Regards,
Yann E. MORIN.
> Best regards,
> Romain
>
> > +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > + bool
> > +
> > +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> > + bool
> > + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > +
> > +config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> > + bool
> > + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> > +
> > +config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> > + bool
> > + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> > +
> > +config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
> > + bool
> > + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> > +
> > # The following string values are defined by the individual
> > # Config.in.$ARCH files
> > config BR2_ARCH
> >
>
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2017-10-07 10:26 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 [this message]
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
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=20171007102616.GF21901@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