On Fri, Sep 23, 2022 at 02:34:52PM +0200, Fuzzey, Martin wrote:
Hi Greg & Sasha,
I have a question about the toolchain version requirements policy for LTS kernels.
I know the mainline kernel documents the requirements in Documentation/process/changes.rst but what happens if a patch added to -stable changes the requirements?
I am using 5.4-y and have 3 builds with different gcc versions:
- 4.7.3
- 4.9
- 9.4
[yes, I know 1 and 2 are very old, they are the versions in AOSP 5 and 8...]
All three built fine on 5.4.143 but on upgrading to 5.4.214 build #1 failed.
I traced it to this stable commit
commit 352affc31e269ee6c3ec1c4d2fe65b72b7367df6 Author: Peter Zijlstra peterz@infradead.org Date: Wed Nov 10 11:01:03 2021 +0100
bitfield.h: Fix "type of reg too small for mask" test [ Upstream commit bff8c3848e071d387d8b0784dc91fa49cd563774 ]
which introduces a use of _Generic which was only added in gcc 4.9 so that explains the build failure.
However Documentation/process/changes.rst in 5.4.214 still lists 4.6 as the minimum gcc version.
So, what is the policy on this?
A) -stable patches where the upstream version needs a newer compiler should be backported so as to still work with the original minimum compiler version at the time?
Ideally this. But we don't check this very well as you have seen. Most of the toolchain work on stable kernel releases is to get _newer_ versions of the tool chain to work properly.
Care to send a fix-up patch?
thanks,
greg k-h