Linux 内核是 Linux 操作系统 (OS) 的支柱,是计算机硬件与其进程之间的基本接口。
Linus Torvalds 宣布 最近的 Linux 6.3 内核合并窗口已经结束 而这个版本 删除对英特尔 ICC 编译器的支持。 具体来说,它是英特尔的 ICC 编译器,在使用现代英特尔 DPC++ 编译器过渡到 LLVM/Clang 之前,更广为人知的名称是“英特尔 C++ 经典编译器”。
通过 Linux 6.3 的第一个候选版本,我们对这个新内核版本的特性和变化有了更多的了解。 已添加到 Linux 6.3 的关键功能之一是新的“rtla hwnoise”工具。
几个月前 有传言说 Linux 内核将放弃对英特尔 ICC 编译器的支持 现在,有了 Linux 6.3 做到了. 事实上,虽然 LLVM/Clang 编译器越来越多地被各种开发人员和组织用于构建主要的 Linux 内核,作为对 GCC 编译器的补充支持,而 GCC 编译器长期以来一直是编译器的主要目标,但英特尔的 ICC 编译器也能够构建 Linux 内核,尽管它没有被广泛使用。 但是内核开发人员决定取消对 ICC 编译器的支持。
首先, Intel ICC 是 C (icc) 和 C++ (icpc) 的编译器 一些开发人员和组织使用高度优化的内核来创建 Linux 内核。 独立版本已被 Intel OneAPI 取代。
去除支撑的想法 对于英特尔的 ICC 编译器 fue于去年XNUMX月首次募集 由 Linux 开发人员 Masahiro Yamada 编写。 根据 Linux 内核开发人员的说法, 围绕支持的内核更改 来自 Intel 的 ICC 编译器 它们很小,似乎 ICC 对内核构建的支持目前处于非活动状态 没有人抱怨。 由于没有人关心或注意到,该提案将删除对主线内核的 ICC 支持,并释放目前用于 ICC 支持的大约 300 行代码。
莱纳斯托沃兹, 内核造物主, 支持放弃英特尔 ICC 编译器的回应:
“我认为没有人真正使用过 ICC。 我不记得听过一个关于 ICC 问题的词,我不认为这是因为它模仿 GCC 太好了以至于没有人遇到任何问题。
其他内核开发人员表示赞成这一变化。 此外,随着英特尔的 ICC 编译器从其旧的专有代码库转移到基于 LLVM 的模型,新的 ICC 编译器可能最终能够使用 Clang 路径编译内核。
基本上, 主文件 来自 Linu 内核头文件x for the Intel compiler 已经三年没动过了, 许多开发人员/用户忘记或什至不知道 ICC 对内核构建的支持,并且至少有一个明显的问题没有改变。 据报道,ICC 内核构建。
另外, 英特尔的经典 ICC 编译器已被其 oneAPI DPC++/C++ 编译器取代 更现代的建立在 LLVM 之上。 自 XNUMX 月以来,没有人表示有兴趣使用这个经典的英特尔编译器编译最新的内核代码。
因此,放弃对英特尔 ICC 的支持并不是真正的损失。 GCC 和 LLVM/Clang 仍然是构建主要 Linux 内核的两个关键编译器。
GCC 长期以来一直是构建主线内核的事实选择,而近年来 LLVM/Clang 主线已被证明非常适合构建 Linux 内核,并用于各种构建 Linux 生产内核,以及移植LLVM。 /Clang 的各种编译器功能。 因此,随着 Linux 内核版本 6.3 的到来,英特尔的 ICC 编译器将被淘汰。
最后,如果你是 有兴趣了解更多,您可以在中查看详细信息 以下链接。