Re: [meta-arm] Removal of external-arm-toolchain?

Andrew Davis <[email protected]>
Newsgroups org.yoctoproject.lists.meta-arm
Message-ID <[email protected]>
On 1/22/25 11:32 AM, Ross Burton via lists.yoctoproject.org wrote:
> Hi,
> 
> It’s that time of the year where I grumble about external-arm-toolchain.  This is the recipe that lets you unpack the Arm binary GCC releases, and tell yocto to use that directory as the cross compiler.
> 
> This time:
> 
> 1) systemd fails to compile as the kernel headers it has don’t include SIOCGSTAMP_OLD (added in linux 5.2)
> 
> 2) There is no real support for locales. It ships locale files but they’re generated by a separate recipe in core and those packages don’t get generated by e-a-t.  This means many of oe-core’s ptest recipes fail because of unexpected dependencies on eg locale-base-en-gb.
> 
> 3) The virtual namespace changes that landed yesterday in core meant it needs updating.
> 
> I’ve started work on (3) but discovered (1) and (2) whilst trying to do a test build.
> 
> So I’m again thinking we should remove external-arm-toolchain from meta-arm. My argument for removing it:
> 
> 1) Whilst it’s a binary release of GCC from Arm, it’s actually almost identical to upstream. Yocto can already build a newer version of upstream, which can be patched rapidly to fix bugs.
> 
> 2) Some pieces of the binary release can be very old: the kernel headers in the 13.2 build were from linux 4.19.
> 
> 3) The binary release has limited platforms: you can only target 32-bit arm on x86-64 or aarch64 hosts, and 64-bit arm on x86-64 hosts.
> 
> 4) Trying to force a round peg (binary toolchain) into a square hole (the implicit interface exposed by yocto’s gcc recipes) is going to be a constant battle.
> 
> 5) Given the problems I found it appears out CI is the main user of it, and that CI coverage is explicitly minimal (disables ptest because we can’t build a target gcc either).
> 
> My understanding is that TI were active users of the binary toolchain for customers who appreciated the speed improvement by not having to compile a cross compiler, but I don’t believe the latest releases of their product support this.  Also this is a prime use case for sstate, in particular the public yocto state server which can be used to fetch all the native tools, not just the compiler.
> 

That is correct, we have moved away from external/binary toolchains.
+Denys had some comments on it you can find here[0] on why we (TI)
used it previously and why we do not anymore.

Andrew

[0] https://lists.yoctoproject.org/g/meta-arago/message/14443

> So, would anyone seriously object if I sent a patch to remove the external-arm-toolchain recipe? This would only be for master, we wouldn’t retroactively remove it from the stable branches.
> 
> Cheers,
> Ross
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#6342): https://lists.yoctoproject.org/g/meta-arm/message/6342
> Mute This Topic: https://lists.yoctoproject.org/mt/110756921/3619733
> Group Owner: [email protected]
> Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.