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:
1) 4.7.3
2) 4.9
3) 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(a)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?
B) Documentation/process/changes.rst should be updated in stable to
reflect any new requirements?
C) Not really defined
Note I'm not complaining or asking anyone to do anything here (and
have already fixed it on my
end by updating the compiler) but I'd just like to understand how this
is supposed to work.
Regards,
Martin