On Fri, Jan 8, 2021 at 1:27 AM Will Deacon <will@xxxxxxxxxx> wrote: > > On Fri, Jan 08, 2021 at 10:21:54AM +0100, Peter Zijlstra wrote: > > On Thu, Jan 07, 2021 at 10:20:38PM +0100, Arnd Bergmann wrote: > > > On Thu, Jan 7, 2021 at 2:37 PM Russell King - ARM Linux admin > > > > > > So, do we raise the minimum gcc version for the kernel as a whole to 5.1 > > > > or just for aarch64? > > > > > > I'd personally love to see gcc-5 as the global minimum version, as that > > > would let us finally use --std=gnu11 features instead of gnu89. [There are > > > a couple of useful features that are incompatible with gnu89, and > > > gnu99/gnu11 support in gcc didn't like the kernel sources] > > > > +1 for raising the tree-wide minimum (again!). We actually have a bunch > > of work-arounds for 4.9 bugs we can get rid of as well. > > We even just added another one for arm64 KVM! [1] > > So yes, I'm in favour of leaving gcc 4.9 to rot as well, especially after > this ext4 debugging experience. Well, honestly, I'm always in favor of having people not use ancient compilers, but both of the issues at hand do seem to be specific to arm64. The "gcc before 5.1 generates incorrect stack pointer writes on arm64" sounds pretty much deadly, and I think means that yes, for arm64 we simply need to require 5.1 or newer. I also suspect there is much less reason to use old gcc's on arm64. I can't imagine that people really run very old setups, Is some old RHEL version even relevant for arm64? So while I'd love to just say "everybody needs to make sure they have an up-to-date compiler", my git feel is that at least with the current crop of issues, there is little to really push us globally. I appreciate Arnd pointing out "--std=gnu11", though. What are the actual relevant language improvements? Variable declarations in for-loops is the only one I can think of. I think that would clean up some code (and some macros), but might not be compelling on its own. Linus