皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 6.16 现在强制执行 GCC 8 的最低编译器版本

Linux 6.16 现在强制执行 GCC 8 的最低编译器版本

为了编译 Linux,x86/x86_64 内核已经强制执行了 GCC 8 的最低编译器版本,而现在在 Linux 6.16 中,所有其他架构都满足了这一要求。所有 Linux 内核架构的 GCC 8 和 GNU Binutils 2.30 基线现在允许从代码库中删除一些旧的解决方法。

Linus Torvalds 今天合并了这一更改,当涉及到编译 Linux 内核所需的 GNU 编译器集合版本时,至少普遍要求至少 GCC 8。GCC 8 最低要求取代了之前的 GCC 5 最低要求。GNU BInutils 基线从 v2.25 到 v2.30。LLVM Clang 13 和更新版本仍然是编译 Linux 内核的 GCC 的替代品。

Arnd Bergmann 在 Git 合并中论证了提高 GCC 基线的理由:

“需要 gcc-8 和 binutils-2.30

x86 已经使用 gcc-8 作为最低版本,这会将所有其他架构更改为相同的版本。gcc-8 用于 Debian 10 和 Red Hat Enterprise Linux 8,这两个版本仍然受支持,而 binutils 2.30 是它们上最早的相应版本。

Ubuntu Pro 18.04 和 SUSE Linux Enterprise Server 15 都使用 gcc-7 作为系统编译器,但还包括仍然受支持的工具链。

使用新的最低工具链版本,可以删除许多旧版本的解决方法,尤其是在 x86_64 和 arm64 上。重要的是,更新的编译器版本允许删除剩余五个 gcc 插件中的两个,因为现代编译器版本中已经包含对 sancov 和 structleak 功能的支持。

我尝试根据新的工具链版本收集可能的已知更改,但预计可能会进行更多清理。

与此更改的合并已经从内核中删除了 600 多行代码,从而能够消除 GCC8 之前的旧解决方法。

转自 Linux 6.16 Now Enforces A Minimum Compiler Version Of GCC 8 – Phoronix