Hi Tom and Simon,

So there're a couple of things involved indeed.

  1.  As Tom correctly mentioned we used to use SNSP pre-built tools for ARC in 
TravisCI previously. And frankly the reason was we needed something GCC 8.x 
based while on some other arches such a new GCC triggered extra problems, see 
https://lists.denx.de/pipermail/u-boot/2018-May/329577.html. So I updated ARC 
pre-built versions and we kept using it.
  2.  Now, that particular "mcpu" was never added into upstream GCC because we 
wanted to re-implement it a bit nicer, thus any up-to-date vanilla GCC won't 
accept it as opposed to tools built from SNPS' GCC port [which has it 
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/84a3ee3844f9967a1b6c5923b9da4e6720c1d5bb].
  3.  IIRC "-mcpu=hs4x_rel31" is basically an umbrella option for some options 
combination based on generic "-mcpu=hs4x" so we may probably update HSDK-4xD 
flags to be buildable by vanialla GGC.

But anyways the simples short-term solution is to use our pre-built tools, 
latest of which are avaialble here 
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2021.03-release.
 And for U-Boot elf32 version is what I would suggest to use, so please use 
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2021.03-release/arc_gnu_2021.03_prebuilt_elf32_le_linux_install.tar.gz.

Moreover since by default for ARC we use U-Boot built-in libgcc the same one 
little-endian toolchain might be safely used for building our big-endian 
configs equally well.

If more info or actions needed, please let me know.

-Alexey


________________________________
From: Tom Rini
Sent: Saturday, July 10, 2021 11:22 PM
To: Simon Glass
Cc: U-Boot Mailing List; Alexey Brodkin; Eugeniy Paltsev
Subject: Re: Broken arc toolchain

On Sat, Jul 10, 2021 at 02:11:30PM -0600, Simon Glass wrote:

> Hi,
>
> I see this:
>
> $ buildman --fetch-arch arc
>
> Downloading toolchain for arch 'arc'
> Checking: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/
> Downloading: 
> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-arc-linux.tar.xz
>  Unpacking to: /home/sglass/.buildman-toolchains
> Testing
>       - looking in
> '/home/sglass/.buildman-toolchains/gcc-9.2.0-nolibc/arc-linux/.'
>       - looking in
> '/home/sglass/.buildman-toolchains/gcc-9.2.0-nolibc/arc-linux/bin'
>          - found
> '/home/sglass/.buildman-toolchains/gcc-9.2.0-nolibc/arc-linux/bin/arc-linux-gcc'
>       - looking in
> '/home/sglass/.buildman-toolchains/gcc-9.2.0-nolibc/arc-linux/usr/bin'
> Tool chain test:  OK, arch='arc', priority 5
>
> $ buildman -A hsdk_4xd
> /home/sglass/.buildman-toolchains/gcc-9.2.0-nolibc/arc-linux/bin/arc-linux-
> $ buildman hsdk_4xd
> ...
> arc-linux-gcc: error: unrecognized argument in option '-mcpu=hs4x_rel31
>
>
> Do you have any thoughts on what is wrong, please?

There's two parts.  The first part is I keep forgetting to update
buildman to fetch the latest toolchains from kernel.org, it should be
grabbing 11.1.0 now, not 9.2.0.  The second part is that arc, nds32 and
xtensa have non-standard toolchain locations, see
tools/docker/Dockerfile for where to fetch.

--
Tom

Reply via email to