Old Compilers and Old Bugs
lwn.net
lwn.net
Is this really a practical problem? I don't have the impression that compiling the latest kernel is a common use case on CentOS, as CentOS users want very boring very old software, which is kind of the point of the entire system. But maybe people are doing it regardless?
Oh, yes. There are many industrial settings in which toolchains are set for systems provided to customers, and those systems don't get a full software revamp for a decade if not much more than that.
Yeah, it's possible to download any version of the kernel sources and build it, but the chances of having a system that boots into a 5.x.x kernel under RHEL or CentOS is pretty small.
How does this relate to user-space code? Could the same bug manifest is user-space code when handling signals? I don't know much about how exactly signals are delivered and handled in user-space processes.
edit: Now that I think about it red zone in user-space pretty much assumes that the equivalent can't happen there. It appears that red zone is disabled for the kernel precisely because of interrupts. I still wonder how signal handlers interact with the user-space thread's stack.
Handling interrupts within the Linux kernel is not really very similar to signal handling in userspace.
So to answer the previous poster's question: yes, AFAICT this bug could have effected userspace code unless there are some other nuances at play.
Why isn't the Linux kernel compiled with `-std=gnu99`? That's been supported in GCC since well before 4.9.
I really don't understand why that is. 4.9.x is the last release branch in the 4 series, so it's not as though there is another 4-series branch to maintain. And 4.9.0 came out in 2014. I don't see why it is out of the question to release 4.9.5 - with the patch already having been backported to 4.9.4 by others; and the fact that there's no change in library API, command-line arguments etc.
Now, perhaps it is the case that GCC doesn't have enough manpower to support releases for 6 years. But doing so can't just be dismissed as "out of the question".
Compilers are very fundamental pieces of software - perhaps no less than OS kernels - and they shouldn't just be "moved on" from.
As you say, it could in principle be done, but GCC doesn't have a huge amount of funding (most companies support LLVM/clang if they support any compiler, which to be honest makes a lot of sense, they are much more business-friendly)
Well, you know, if you're in a project central to a lot of the FOSS world, then there's a mix of doing exciting new features and doing maintenance. Plus, if you just think of "fixing a compiler bug" as "fixing it on the N versions we're currently supporting", it may feel as less of a pain than "backporting a bunch of bug fixes".
> Money buys you that interest, but in the free software world you better move along with the developers.
Hey, I'm in the free software world. I maintained a Seamonkey 1.x version of an extension of mine until last year - 13 years after the last significant release (1.1).