The Linux kernel is the backbone of Linux operating systems (OS), and is the fundamental interface between a computer's hardware and its processes.
Linus Torvalds recently announced that the Linux 6.3 kernel merge window has closed and that this version removes support for the Intel ICC compiler. Specifically, it's the Intel ICC compiler, better known as the "Intel C++ Compiler Classic" before it transitioned to LLVM/Clang with the modern Intel DPC++ compiler.
With the first release candidate of Linux 6.3 we know a little more about the features and changes in this new kernel version. One of the key features that has been added to Linux 6.3 is the new "rtla hwnoise" tool.
A few months ago, there was talk that the Linux kernel would stop supporting Intel's ICC compiler , and now, with Linux 6.3, it has . In fact, while the LLVM/Clang compiler is increasingly used by various developers and organizations to build the main Linux kernel as a complement to the GCC compiler, which has long been the compiler's primary focus, Intel's ICC compiler was also capable of building the Linux kernel, although it wasn't widely used. But the kernel developers decided to drop support for the ICC compiler.
First, Intel ICC is a highly optimized C (icc) and C++ (icpc) compiler used by some developers and organizations to create the Linux kernel. The standalone version has been superseded by Intel OneAPI.
The idea of ​​removing support for Intel's ICC compiler was first raised last October by Linux developer Masahiro Yamada. According to Linux kernel developers, kernel changes related to Intel's ICC compiler support are minimal, and it appears that ICC support for kernel builds is currently dormant without any apparent concern. Since no one seems to care or notice, this proposal would remove ICC support from the mainline kernel and free up approximately 300 lines of code currently used for ICC support.
Linus Torvalds, creator of the kernel, responded in favor of abandoning the Intel ICC compiler:
“I don't think anyone has really used the ICC. I don't remember hearing a single word about ICC's problems, and I don't think it was because it emulated GCC so well that no one had any problems.
Other kernel developers have spoken in favor of this change. Also, with Intel's ICC compiler moving from its old proprietary codebase to an LLVM-based model, the new ICC compiler might end up being able to compile the kernel using Clang paths.
Basically, the main Linux kernel header file for the Intel compiler hasn't been touched for three years, many developers/users forget or are even unaware of ICC support for kernel building, and there's at least one obvious, unmodified problem that has been reported with ICC kernel builds.
Furthermore, Intel's classic ICC compiler has been replaced by its more modern oneAPI DPC++/C++ compiler built on LLVM. And since October, no one has come forward to express interest in compiling the latest kernel code with this classic Intel compiler.
So dropping Intel ICC support shouldn't be a real loss. GCC and LLVM/Clang are still the two key compilers for building the main Linux kernel.
GCC has long been the de facto choice for building the mainline kernel, while in recent years the LLVM/Clang mainline has proven to be quite suitable for building the Linux kernel and is used in various builds. Linux production kernel, as well as to port LLVM. /Clang to its various compiler features. Therefore, Intel's ICC compiler is retired with the arrival of Linux kernel version 6.3.
Finally, if you are interested in learning more about this , you can find the details at the following link.