Much more in the LWN article, I'm not going to quote everything.
I've noticed this too and it's really annoying. Their CI doesn't even run `gn` for the use-flag permutations, which would take a trivial amount of compute. They could easily compile-but-not-link for every combination of flags in CI too at only a modest compute expenditure. At least that way people who break the #ifdef maze would be forced to fix it.
I can't tell you what Gentoo does with the Linux kernel in terms of USE flags; it's been over a decade since I last tried Gentoo and I don't want to spend the time looking it up since I doubt anyone truly cares. (If someone does care enough and looks it up, I care just enough to be curious to know what you find).
What makes you bet that?
As far as I know, the kernel doesn't have any official CI. People test as they feel like it. Some people/companies build some CI initiatives, others don't use them.
https://lwn.net/Articles/972713/
Also the kernel has > 10000 Kconfig options. Somebody told me that 2^64 is a lot, and that 2^10000 is a lot more.
And folks do build stuff, including with the awesome "randconfig" mode which generates a.. random config, so while it's still possible for some specific config to not actually work at runtime it's actually quite unlikely for build itself to fail (for releases at least)
So it's not Gentoo's decision to have so many flags, it's upstream's decision. I bet the Gentoo maintainers would love it if upstream acknowledged "okay, this 'optional' feature isn't really optional any longer". But they don't, and they continue to have dozens of flags, which Gentoo (due to their build philosophy) dutifully copied and tried to test — an overwhelming task.
That's a weird statement to make though. I would say that it was Gentoo's decision to test for all functionality.
But, even ignoring this for the moment: how does this apply to the linux kernel? Because the config file has TONS of options. Does Gentoo support all of these via use flags? If not, why not? Because that distinction to me would be totally arbitrary.
Because Gentoo has basically three options; let me know if you can think of a fourth option I'm missing.
1. Turn every optional feature from upstream into a USE flag, and test them. Which means testing all the 2^N combinations.
2. Turn every optional feature from upstream into a USE flag, but do not test them. Which means users can end up with untested combinations, some of which have proven in the past to be buggy.
3. Stop turning every optional feature from upstream into a USE flag. Which means giving up on Gentoo's distinguishing characteristics for this package.
Okay, I guess there's a fourth option:
4. Stop packaging the Chromium package at all. Which is what they've ended up doing.
They're free to limit which options they offer, they're free to limit which combinations they support, and they're free to fork or drop the software they offer if they insist on keeping the 2^N purity (which they eventually did). But that's Gentoo's mission, not upstream's. Upstream is just giving them software for free on an as-is basis.
These days there is a package that builds the kernel for you, but it relies on the "savedconfig" system to just save/load the entire kernel config file instead of using USE flags. So you still have to root around in the config menu yourself to change things.
In my experience Linux is very good at correctly declaring dependencies between options, and still working with options disabled, so this isn't as much of a problem as it seems to be for Chromium.