Re: Build regressions/improvements in v4.9-rc1

Alexey Brodkin
2016-10-27T13:55:17Z

Hi Thomas, Michael,

On Thu, 2016-10-27 at 09:07 +0200, Thomas Petazzoni wrote:
> Hello,
>
> On Thu, 27 Oct 2016 10:56:02 +1100, Michael Ellerman wrote:
>
> >
> > >
> > > Hm... that's strange - it used to work but doesn't work with newer Buildroot...
> > >
> > > Anyways if something very simple (i.e. with no extra libraries) works for you just go
> > > ahead and grab pre-built image that Thomas Petazzoni builds.
> > >
> > > That's the most recent one:
> > > http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2016.08-613-ge98b4dd.tar.bz2
> >
> > Thanks, I grabbed that and it works for axs103_smp_defconfig:
> >
> >   http://kisskb.ellerman.id.au/kisskb/buildresult/12840656/
> >
> >
> > It doesn't work for axs101_defconfig, saying:
> >
> >   arch/arc/Makefile:29: *** Toolchain not configured for ARCompact builds.  Stop.
>
> axs101 is using a 770 core, while the toolchain is built for the HS38
> core. I'm somewhat surprised that a single ARC toolchain cannot produce
> code for both 770 and HS38, but it seems to be the case.
>
> So you need a separate toolchain for ARC770.

Indeed axs101 uses ARC770 core which is ARCv1 AKA ARCompact ISA while
axs103 sports the same base-board but CPU daughter-card contains ARC HS38 core
which has ARCv2 ISA (binary incompatible with ARCompact).

Essentially both gcc and binutils will happily build for both architectures given
proper options were passed on the command line. But Linux kernel gets linked with
pre-built libgcc (it is a part of toolchain). And so it all boils down to a requirement
to have multilibbed uClibc toolchain. Which we don't have.

I think we discussed it a couple of times already and probably at some point will have it
but for now we have to use 2 different toolchains for ARCompact and ARCv2 cores.

I hope explanation above makes some sense.

-Alexey