Re: Next Chromium release will require unreleased LLVM

Ryan Lahfa <[email protected]> Sun, 14 May 2023 21:05:10 +0200
Newsgroups dev.linux.lists.distributions
Message-ID <zhzmhu5w53igao67nbwv6zldn6ny2lssmaq6fl4ntpn4dcqomi@ksb7rb3yy77g>
On Fri, May 12, 2023 at 09:20:05AM +0200, alice wrote:
> On Thu May 11, 2023 at 1:43 PM CEST, Alyssa Ross wrote:
> > On Thu, May 11, 2023 at 01:35:48PM +0200, Ryan Lahfa wrote:
> > > On Thu, May 11, 2023 at 06:16:03AM -0400, Neal Gompa wrote:
> > > > We only recently switched building Chromium from GCC to Clang.
> > > > Switching back might be an option too, depending on what the
> > > > compatibility looks like.
> > >
> > > I thought that Chromium was tightly coupled to Clang for compilation.
> >
> > Not quite:
> > https://chromium.googlesource.com/chromium/src/+/main/docs/clang.md#Using-gcc-on-Linux
> 
> overall, i think this is a little overblown. it's quite known that latest
> chromium needs whatever latest llvm toolchain to build- perhaps it's a bit new
> that in this instance the llvm toolchain is not even released yet, but i think
> that was inevitable given that chromium's llvm policy is that they bump to
> latest master every 2-4 weeks (see https://chromium.googlesource.com/chromium/src/+/main/docs/toolchain_support.md)
> so, it was a matter of time until an M release required unsupported flags in
> latest released llvm.
> 
> but for distros this is nothing new. for instance when you happen to do a new
> llvm upgrade, you can generally unset chrome_pgo_phase=0 (the vendored pgo
> profile shipped with clang tarball requires latest llvm, so you don't need to
> set this if the stars align, but then you have to set it again when chrome's is
> too new), arch linux for instance have to patch their clang15
> (https://github.com/archlinux/svntogit-packages/commit/410325df892f54322a6abb68569db639128a045d)
> to build it at all with older llvm, M113 rolled some libraries to latest(git) so
> the system ones don't work anymore (common occurence really, every other release
> has this happen), chromium doesn't (yet) support libstdc++13 without a bunch of
> patches (mostly cstdint includes), ...
> 
> so, a patch like reverting the CL for llvm17-only ld.lld flags as linked here is
> nothing out of the ordinary (i think something identical even happened before,
> but i don't remember anymore). i'd imagine everyone would do exactly that, just
> like we all always have, a small trivial patch :)

I was just wondering if there would be a day where it would be hard to
revert the relevant patches from LLVM "git" for building Chromium, which
would require a change in our strategy.

Obviously, a trivial patch is not a big deal.

Kind regards,
-- 
Ryan Lahfa