On Sun, Feb 11, 2018 at 1:10 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Sun, Feb 11, 2018 at 9:06 PM, Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: >> On Sun, Feb 11, 2018 at 11:53 AM, Linus Torvalds >> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: >>> >>> Well, it's still not a very *big* bump. With modern distros being at >>> 7.3, and people testing pre-releases of gcc-8, something like gcc-4.5 >>> is still pretty darn ancient. >> >> ... it's worth noting that our _documentation_ may claim that gcc-3.2 >> is the minimum supported version, but Arnd pointed out that a few >> months ago that apparently nothing older than 4.1 has actually worked >> for a longish while, and gcc-4.3 was needed on several architectures. >> >> So the _real_ jump in required gcc version would be from 4.1 (4.3 in >> many cases) to 4.5, not from our documented "3.2 minimum". >> >> Arnd claimed that some architectures needed even newer-than-4.3, but I >> assume that's limited to things like RISC-V that simply don't have old >> gcc support at all. > > Right. Also architecture specific features may need something more recent, > and in some cases like the 'initializer for anonymous union needs extra > curly braces', a trivial change would make it work, but a lot of architectures > have obviously never been built with toolchains old enough to actually > run into those cases. > > Geert is the only person I know that actively uses gcc-4.1, and he actually > sent some patches that seem to get additional architectures to build on > that version, when they were previously on gcc-4.3+. > > gcc-4.3 in turn is used by default on SLES11, which is still in support, > and I've even worked with someone who used that compiler to build > new kernels, since that was what happened to be installed on his > shared build server. In this case, having gcc-4.3 actively refused to > force him to use a new compiler would have saved us some > debugging trouble. > > In my tests last year, I identified gcc-4.6 as a nice minimum level, IIRC > gcc-4.5 was unable to build some of the newer ARM targets. For reference, the original discussion started here: https://lkml.org/lkml/2016/12/16/174 I thread-necromancied it here: https://lkml.org/lkml/2017/4/16/276 Modern analysis of compilers vs versions here: https://lkml.org/lkml/2017/4/24/481 and seeming conclusion was here: https://lkml.org/lkml/2017/4/25/66 Quoted: >> - To keep it simple, we update the README.rst to say that a minimum >> gcc-4.3 is required, while recommending gcc-4.9 for all architectures >> - Support for gcc-4.0 and earlier gets removed from linux/compiler.h, >> and instead we add a summary of what I found, explaining that >> gcc-4.1 has active users on a few architectures. >> - We make the Makefile show a warning once during compilation for >> gcc earlier than 4.3. But yes, if Linus wants 4.5 over 4.3, I would agree with Arnd: let's take it to 4.6 instead. -Kees -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html