Zack's Kernel News
Zack's Kernel News
The Linux kernel mailing list comprises the core of Linux development activities. Traffic volumes are immense, often reaching 10,000 messages in a week, and keeping up to date with the entire scope of development is a virtually impossible task for one person. One of the few brave souls to take on this task is Zack Brown.
An In-Kernel C Compiler?
Ingo Molnar suggested that the kernel should include its own source compiler inside the codebase itself, a tightly integrated Linux alternative to GCC that would eliminate the nightmare conflicts that have occasionally raged between the kernel developers and the GCC developers. If anyone less involved in kernel development than Ingo suggested something like this, I suspect it would be met with a high degree of skepticism. In fact, even with Ingo suggesting it, there was some of that.
His idea was to combine a precompiler, compiler, assembler, and linker into a single tool that would ship with the kernel sources and remain "in lockstep" with each other, avoiding not just the developer conflicts, but also a lot of jumping through hoops that the kernel currently must do to accommodate GCC. As a first step, the tool could simply perform pre-processing that would be fed to GCC. Then gradually more compiler functionality could be added. This, he said, would have an immediate benefit in terms of simplifying the kernel code.
Initially, there was some support for the idea. Steven Rostedt raised the issue, suggesting that Ingo's idea was a good one; then Ingo replied with this elaboration. And Anton Ertl pointed out that an alternative to GCC wouldn't just help the kernel get around GCC problems, it would help lots of user-space software as well. But he thought forking GCC as a starting point had some good arguments in its favor, including the ability to compile code for a wide variety of hardware architectures. David S. Miller pointed out that one drawback to writing a new compiler would be losing GCC's efficiency at doing preprocessing and compilation all within the same binary, instead of passing data through a pipe. He also didn't like Ingo's idea in general. Instead of working on a compiler, he thought people should focus on writing kernel code. He also thought the whole project would take a lot more time and effort than Ingo expected. Having written a compiler before, Eric W. Biederman also confirmed that it would take a really long time, but he thought Ingo's idea might be worthwhile if it would result in big advances in debugging and compiling speed.
Christoph Lameter also thought that something short of an actual compiler might be useful. Something that could get rid of all the complexities and special cases associated with current preprocessing would be a significant improvement, he said. Alexander Viro did not agree that the existing preprocessor situation was very complex, and he invited the folks involved in the thread to read the C standard [2], specifically Chapter 5 and section 6.10. At this point, the conversation petered out.
What will come of this discussion isn't clear, but it seems to have the attention of some powerful coders. Or what folks currently think of as deficiencies in GCC could end up being about the best they can hope for, but it's likely that someone will attempt to find out for sure, at least with regards to preprocessing.
Some Filesystem Tools Open Sourced by SGI
Greg Banks announced that SGI was releasing a number of pieces of software under the GNU General Public License, version 2. SGI wouldn't participate in supporting the software; in fact, some of the code was unfinished, and some was reliant on internal SGI development infrastructure that was not also being released. So this particular case doesn't appear to be an attempt to collaborate with the open source world as much as it is simply throwing code into the world and hoping someone finds it useful.
Among the released tools is checkstream, a tool that can automatically detect certain kinds of filesystem corruption. Another tool, weber, is designed to put a heavy load onto an NFS filesystem. In all, nine tools were released.
Laptop LED Alerts
Márton Németh has removed the "experimental" dependency from the leds-clevo-mail driver in the config file, which lets Clevo notebooks – specifically, models D410J, D410V, M540N, and M5x0V – control their mail LED. This is a cute thing to support, not necessarily with a wide audience, but it does bring Linux closer to seeming like the natural operating system to be running on any given piece of hardware. (Not that we don't all enjoy explaining to our non-Linux-savvy buddies, "This LED does nothing right now. Under Microsoft it would alert me whenever mail arrives.")
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
First Release Candidate for Linux Kernel 6.14 Now Available
Linus Torvalds has officially released the first release candidate for kernel 6.14 and it includes over 500,000 lines of modified code, making for a small release.
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.