Because of course chromium ships its own compiler and linker
Conversation
They frequently update it to newer LLVM revisions and end up fairly closely following along with the development branch because they need bug fixes from there and prefer following along vs. trying to backport ridiculously complex intertwined things.
1
4
Android Open Source Project is similar but the main release cycle for major releases is yearly rather than every 6 weeks. They do often end up updating it as part of the quarterly maintenance releases. For the Linux kernel, they also tend to use a more bleeding edge toolchain.
1
2
You can build with a different toolchain but it's just not a good idea because they had reasons to keep updating past the most recent stable recent.
LLVM development is basically part of AOSP/Chromium/Linux kernel development from their perspective since it's so intertwined.
1
3
Linux distributions tend to build with their own toolchain and use system library versions and as part of that they lose a bunch of important bug fixes. They often don't bother using CFI (Control Flow Integrity) etc. and don't care about making sure it has the same coverage etc.
1
2
Part of the issue is that the LLVM release cycle is quite slow for something that doesn't have a real extended support release branch with tons of bug fixes. The bug fixes also just tend to be far more complex and invasive than typical projects. Can involve massive overhauls...
1
2
In a sense there is no real 'stable' release of LLVM and from their perspective some arbitrary revision of the development branch which appears to fully work for the time being is a better choice than a known to be broken in many ways stable release which won't get fixed.
1
1
Apple does the same thing too and to an even greater extent. Chromium and Android don't really diverge from the development branch substantially, they're mostly just choosing an arbitrary revision that happens to work well for them vs. Apple doing more full blown stable branches.
1
2
When you have teams working on LLVM though, like Google and Apple do, you don't really want to wait 6 months to get the stuff they developed/fixed for you, especially when it doesn't align properly with your own releases. Everyone else is just... screwed?
1
2
Also, both Apple and Google are supplying the toolchain for developers for their platforms. Google takes a more aggressive, upstream first approach vs. Apple having a more internal and conservative long-term stable branch. AFAIK, Apple's stable sources aren't public though.
1
2
I think about all this wasted duplicate effort a lot. It's 100x worse for AOSP and 100x worse than that for the Linux kernel though. So much work that people are doing in different downstreams of downstreams. Software is pretty screwed up. *shrug*

