Development Linux kernel continues to advance towards its next version, and among the most striking new features one is found Proposal to enable Microsoft C extensions by defaultThese extensions, known as -fms-extensions, are part of the kbuild-next development branch. They are compatible with both GCC and Clang. They allow the compiler to recognize non-standard C language constructs inspired by Microsoft Visual C++, such as the use of anonymous structures and unions within other structures.
The measure, aimed at simplifying and making the kernel source code more readable, It seeks to leverage certain features of Microsoft C that may prove beneficial. in specific contexts of operating system development.
Although there has historically been some resistance to adopting elements linked to the Microsoft ecosystem, the presence of these patches in kbuild-next indicates that the change is close to being accepted for the Linux 6.19 merge window.
One more step towards integration
The Two proposed patches introduce the option The `-fms-extensions` compilation is included by default throughout the kernel build process. This means that all system architectures and components, when compiled with GCC or LLVM/Clang, will have access to these extensions.
Developer Rasmus Villemoes, one of the proponents of the proposal, explained that Enabling these extensions would allow for the creation of "more elegant and cleaner code". By eliminating the need to use additional compilation flags each time a Microsoft functionality is required, C. Villemoes argues that, by enabling them globally, case-by-case debate about their use would be avoided, facilitating a more homogeneous development style within the kernel.
The implicit endorsement of Linus Torvalds
Although In the past, similar proposals failed to pass review. on the kernel mailing list, This time the situation seems differentLinus Torvalds, creator of Linux, has participated in the discussion and has not objected to the activation of the -fms extensions.
Esto suggests that the change could be officially implemented in Linux 6.19, provided no objections arise from other prominent developers. One of the patches associated with the kbuild compilation system ensures that the -fms-extensions option also applies to architectures using custom CFLAGS, maintaining compilation consistency across the entire kernel ecosystem.
La Adopting -fms-extensions represents a technical step This is further part of the ongoing evolution of the Linux kernel. While it may seem like a minor detail, the ability to support non-standard constructs offers greater flexibility in code writing, especially in complex structures.
However, Part of the community has expressed reservations about relying on features associated with Microsoft, fearing that this could affect the portability or purity of the C code used in Linux. Even so, the initiative has the support of several developers who believe that the advantages far outweigh the possible disadvantages.
Recent advances in the kernel
In addition to discussions surrounding Microsoft C extensions, The Linux kernel 6.19 will also include fixes to the Minix file system driverThis format has a history spanning over four decades. Corruption errors have been identified in this driver, and the planned fixes will improve the management and recovery of damaged images, making the system more robust against read and write errors.
This improvement demonstrates the ongoing commitment of Linux developers to maintaining backward compatibility and stability in systems that, although old, are still used in educational or experimental contexts.
While version 6.19 is being finalized, the The kernel team continues working on the previous updatesLinux 6.18, currently in its fifth release candidate (6.18-rc5), improves the HID subsystem with new features, such as support for haptic touch panels, better management of Sony's DualSense controller audio, and greater flexibility in HID-BPF.
Also It incorporates enhanced security in ioctl calls from hydrawNew PIDFF haptic features and advanced settings for Intel QuickI2C are included. These optimizations aim to provide a better user experience and increase hardware compatibility with proprietary operating systems.
Source: https://git.kernel.org/