RE: [PATCH] ARC: Get rid of toolchain check

From: Alexey Brodkin
Date: Wed Oct 17 2018 - 10:28:47 EST


Hello,

> -----Original Message-----
> From: Rob Herring [mailto:robh@xxxxxxxxxx]
> Sent: Friday, September 14, 2018 12:04 AM
> To: Alexey.Brodkin@xxxxxxxxxxxx
> Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx; Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>; Vineet.Gupta1@xxxxxxxxxxxx
> Subject: Re: [PATCH] ARC: Get rid of toolchain check
>
> On Thu, Sep 13, 2018 at 3:24 PM Alexey Brodkin
> <Alexey.Brodkin@xxxxxxxxxxxx> wrote:
> >
> > This check is very naive: we simply test if GCC invoked without
> > "-mcpu=XXX" has ARC700 define set. In that case we think that GCC
> > was built with "--with-cpu=arc700" and has libgcc built for ARC700.
> >
> > Otherwise if ARC700 is not defined we think that everythng was built
> > for ARCv2.
> >
> > But in reality our life is much more interesting.
> >
> > 1. Regardless of GCC configuration (i.e. what we pass in "--with-cpu"
> > it may generate code for any ARC core).
> >
> > 2. libgcc might be built with explicitly specified "--mcpu=YYY"
> >
> > That's exactly what happens in case of multilibbed toolchains:
> > - GCC is configured with default settings
> > - All the libs built for many different CPU flavors
> >
> > I.e. that check gets in the way of usage of multilibbed
> > toolchains. And even non-multilibbed toolchains are affected.
> > OpenEmbedded also builds GCC without "--with-cpu" because
> > each and every target component later is compiled with explicitly
> > set "-mcpu=ZZZ".
> >
> > Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
> > ---
> > arch/arc/Makefile | 14 --------------
> > 1 file changed, 14 deletions(-)
>
> +1 for this. Removing it also helps with my work to be able to build
> all the .dts files with only a host compiler. That also needs the hunk
> setting CROSS_COMPILE removed and not having a built-in dtb by
> default, but this is a step in the right direction.
>
> Acked-by: Rob Herring <robh@xxxxxxxxxx>

May we get this one back-ported to stable trees?

Upstream commit in Linus' tree is
615f64458ad8 ("ARC: build: Get rid of toolchain check").

This fixes kernel configuration for ARC in case of missing
ARC cross-tools in current PATH.

-Alexey