diff mbox

[U-Boot,3/3] arm: Warn that starting with v2018.01 gcc-6 or later is required

Message ID 1492213672-20931-3-git-send-email-trini@konsulko.com
State Changes Requested
Delegated to: Masahiro Yamada
Headers show

Commit Message

Tom Rini April 14, 2017, 11:47 p.m. UTC
There are more and more cases where if we do not use gcc-6.0 or later we
run into problems where our binaries are too large for the targets.
Given the prevalence of gcc-6.0 or later toolchains at this point in
time, we give notice now that starting with v2018.01 we will require
gcc-6 (or later) for ARM.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 arch/arm/config.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Masahiro Yamada April 15, 2017, 2:40 a.m. UTC | #1
Hi Tom,


2017-04-15 8:47 GMT+09:00 Tom Rini <trini@konsulko.com>:
> There are more and more cases where if we do not use gcc-6.0 or later we
> run into problems where our binaries are too large for the targets.
> Given the prevalence of gcc-6.0 or later toolchains at this point in
> time, we give notice now that starting with v2018.01 we will require
> gcc-6 (or later) for ARM.
>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/arm/config.mk | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/config.mk b/arch/arm/config.mk
> index 907c69371b94..9d305e1f4448 100644
> --- a/arch/arm/config.mk
> +++ b/arch/arm/config.mk
> @@ -45,7 +45,14 @@ endif
>
>  # Only test once
>  ifeq ($(CONFIG_$(SPL_)SYS_THUMB_BUILD),y)
> -archprepare: checkthumb
> +archprepare: checkthumb checkgcc6
> +
> +checkgcc6:
> +       @if test "$(call cc-name)" = "gcc" -a \
> +                       "$(call cc-version)" -lt "0600"; then \
> +               echo -n '*** Your GCC is older than 6.0 and will not be '; \
> +               echo 'supported starting with v2018.01.'; \
> +       fi
>
>  checkthumb:
>         @if test "$(call cc-name)" = "gcc" -a \
> --

I am confused.

Is this requirement only for thumb, or for all ARM?

Looking at the code,
the check is wrapped with ifeq CONFIG_SYS_THUMB_BUILD.


If you intend this for thumb, please describe it in git-log.
If not, the code seems not effective.
Tom Rini April 15, 2017, 2:43 a.m. UTC | #2
On Sat, Apr 15, 2017 at 11:40:10AM +0900, Masahiro Yamada wrote:
> Hi Tom,
> 
> 2017-04-15 8:47 GMT+09:00 Tom Rini <trini@konsulko.com>:
> > There are more and more cases where if we do not use gcc-6.0 or later we
> > run into problems where our binaries are too large for the targets.
> > Given the prevalence of gcc-6.0 or later toolchains at this point in
> > time, we give notice now that starting with v2018.01 we will require
> > gcc-6 (or later) for ARM.
> >
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> > ---
> >  arch/arm/config.mk | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/config.mk b/arch/arm/config.mk
> > index 907c69371b94..9d305e1f4448 100644
> > --- a/arch/arm/config.mk
> > +++ b/arch/arm/config.mk
> > @@ -45,7 +45,14 @@ endif
> >
> >  # Only test once
> >  ifeq ($(CONFIG_$(SPL_)SYS_THUMB_BUILD),y)
> > -archprepare: checkthumb
> > +archprepare: checkthumb checkgcc6
> > +
> > +checkgcc6:
> > +       @if test "$(call cc-name)" = "gcc" -a \
> > +                       "$(call cc-version)" -lt "0600"; then \
> > +               echo -n '*** Your GCC is older than 6.0 and will not be '; \
> > +               echo 'supported starting with v2018.01.'; \
> > +       fi
> >
> >  checkthumb:
> >         @if test "$(call cc-name)" = "gcc" -a \
> > --
> 
> I am confused.
> 
> Is this requirement only for thumb, or for all ARM?

All ARM.  So, when this moves from a warning to a fail, checkthumb
should go away at that time.

> Looking at the code,
> the check is wrapped with ifeq CONFIG_SYS_THUMB_BUILD.

Oops, I too quickly copied the checkthumb example.  I'll do a v2 after
giving others a chance to comment.  Thanks!
diff mbox

Patch

diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 907c69371b94..9d305e1f4448 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -45,7 +45,14 @@  endif
 
 # Only test once
 ifeq ($(CONFIG_$(SPL_)SYS_THUMB_BUILD),y)
-archprepare: checkthumb
+archprepare: checkthumb checkgcc6
+
+checkgcc6:
+	@if test "$(call cc-name)" = "gcc" -a \
+			"$(call cc-version)" -lt "0600"; then \
+		echo -n '*** Your GCC is older than 6.0 and will not be '; \
+		echo 'supported starting with v2018.01.'; \
+	fi
 
 checkthumb:
 	@if test "$(call cc-name)" = "gcc" -a \