The 5.12 kernel has been released
The 5.12 kernel has been released
Posted Apr 28, 2021 12:57 UTC (Wed) by flussence (guest, #85566)Parent article: The 5.12 kernel has been released
It's next to impossible to discover unless you're already aware of the exact git commit message with the magic incantation. I couldn't figure out what was locking out the settings in nconfig, even with the symbol search's usually useful metadata (it's empty for HAVE_LTO_CLANG), and had to resort to grepping makefiles. To save others the time, the answer's `make LLVM=1 LLVM_IAS=1` — both vars are needed on every config and compile command.
Having TRIM_UNUSED_KSYMS enabled caused the build to explode with undefined module symbols in modpost, though it looks like the kernel image itself built successfully. The symbols are all internal-sounding ones: __x86_indirect_thunk_r11, __SCT__preempt_schedule{,_notrace}, and __{get,put}_user_{1,4,8}.
The help text for that option explicitly suggests this is a thing that's supposed to work with LTO. It doesn't seem to be caused solely by that option, as I can't reproduce the error from a fresh allnoconfig just by flipping it on. I have no idea how to efficiently narrow down the source and I gave up after hours of trying the hard way. Having it disabled succeeds, but the resulting kernel is massive.
A plain kernel built with clang and no LTO has no problems though, I've got two machines running on it now.
Posted May 26, 2021 12:02 UTC (Wed)
by flussence (guest, #85566)
[Link]
Overall, I feel like there's much bigger kernel size wins to be made simply by breaking up monolithic GPU drivers into more granular model ranges...
The 5.12 kernel has been released