Re: Broken arc toolchain

2021-12-17 Thread Simon Glass
Hi Alexey,

On Sat, 10 Jul 2021 at 16:03, Alexey Brodkin
 wrote:
>
> Hi Tom and Simon,
>
> So there're a couple of things involved indeed.
>
> 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.
> 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].
> 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.

Thanks for the instructions. I was able to make it work.

I hope you can get your toolchain things upstream soon!

Regards,
Simon


>
> -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


Re: Broken arc toolchain

2021-07-10 Thread Alexey Brodkin
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


Re: Broken arc toolchain

2021-07-10 Thread Tom Rini
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


signature.asc
Description: PGP signature


Broken arc toolchain

2021-07-10 Thread Simon Glass
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?

Regards,
Simon