[PATCH] buildman: Switch ARC toolchain to the upstream version
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Thu Jul 13 16:07:32 CEST 2023
Hi Tom,
> > Back in the day we relied a lot on Synopsys own build of the GNU tools
> > for ARC processors, but since then we worked hard on getting all our changes
> > upstream and for a couple of years now we have ARCompact (AKA ARCv1)
> > and ARCv2 processors supported very well in upstream GCC, Binutils, GDB etc.
> >
> > And so there's no need to use Synopsys forks any longer, thus we remove
> > all the references to that form and use upstream components as majority
> > of other architectures in U-Boot.
> >
> > Thanks to Tom for pointing to that left-over!
> >
> > Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
> > Cc: Simon Glass <sjg at chromium.org>
> > Cc: Tom Rini <trini at konsulko.com>
> > Reviewed-by: Tom Rini <trini at konsulko.com>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
>
> So I tested this locally and I have a problem:
> Building current source for 1 boards (1 thread, 16 jobs per thread)
> arc: + hsdk_4xd
> +(hsdk_4xd) arc-linux-gcc: error: unrecognized argument in option '-mcpu=hs4x_rel31'
> +(hsdk_4xd) arc-linux-gcc: note: valid arguments to '-mcpu=' are: arc600 arc600_mul32x16 arc600_mul64 arc600_norm arc601 arc601_mul32x16 arc601_mul64 arc601_norm arc700 arcem archs em em4 em4_dmips em4_fpuda em4_fpus em_mini hs hs34 hs38 hs38_linux hs4x hs4xd nps400 quarkse_em
> +(hsdk_4xd) make[2]: *** [scripts/Makefile.autoconf:82: u-boot.cfg] Error 1
> +(hsdk_4xd) make[2]: *** [scripts/Makefile.autoconf:52: include/autoconf.mk.dep] Error 1
> +(hsdk_4xd) make[1]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'. Stop.
> +(hsdk_4xd) make: *** [Makefile:177: sub-make] Error 2
>
> I assume it's a straight-forward fix.
Good catch. I did run test on most of ARC boards except this one
as I forgot that it really differs from the original "hsdk" :)
So, that failure happens because of missing patch on GCC12, which
adds that new "mcpu", see [1]. It's now a part of GCC 13 and so I would suggest
the following "fix":
------------------------>8-----------------------
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
index 0ecd8458b9..e34d8db25c 100644
--- a/tools/buildman/toolchain.py
+++ b/tools/buildman/toolchain.py
@@ -499,7 +499,7 @@ class Toolchains:
if arch == 'aarch64':
arch = 'arm64'
base = 'https://www.kernel.org/pub/tools/crosstool/files/bin'
- versions = ['12.2.0', '11.1.0']
+ versions = ['13.1.0', '12.2.0', '11.1.0']
links = []
for version in versions:
url = '%s/%s/%s/' % (base, arch, version)
------------------------>8-----------------------
I.e. bumping default toolchains to GCC 13.x.
Do you think it's doable at this point?
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7501eec65c60701f72621d04eeb5342bad2fe4fb
-Alexey
More information about the U-Boot
mailing list