
Linux 一直在不断发展,虽然许多新功能往往不为人知,但每个内核版本都会带来一些变化,为未来铺平道路。这一次,Linux 7.3的发布开启了一系列调整,其目标明确:除了标准的 LLVM 编译器之外,还允许使用 GCC 编译 Rust 代码。这种灵活性可能会为许多之前被排除在Rust 内核生态系统之外的架构敞开大门。
这并非迫在眉睫的飞跃或日常的剧烈变革。在Miguel Ojeda团队的领导下,相关开发人员刚刚提交了一份集成请求,其中包含初步调整,以确保rustc_codegen_gcc代码生成器能够牢固地集成到 Linux 7.3 中。该后端的主要优势在于 GCC 可以将 Rust 代码转换为机器指令,从而支持像m68k或Alpha这样缺乏 LLVM 支持的架构——这在嵌入式系统和微控制器领域尤为重要。
一个不占用 LLVM 空间的备份
内核获得这些初始修复并不意味着 LLVM 将被降级。恰恰相反,LLVM 仍将是大多数常见架构的首选方案。其目标仅仅是提供一个强大的替代方案:一种能够访问 LLVM 无法触及的所有硬件的方法。通过此举,Linux 再次展现了其适应不同环境的能力,并充分利用了 GCC 项目在生成 Rust 代码方面的强大功能。
需要注意的是,不要将此项目与gccrs等其他项目混淆,gccrs 是一个基于 GCC 的完整 Rust 编译器。rustc_codegen_gcc依赖于 rustc 编译器,但利用了 GCC 的优化机制。其优势在于,它不仅利用了 GCC 的优化技术,而且支持比 LLVM 多得多的架构,这可能有助于 Rust 在一些小众平台上获得发展。
这对未来的发展意味着什么?
全面整合之路依然漫长,代码目前仍被标记为“实验性”。但这些修复程序在Linux 7.3中的到来标志着一项有望在中期内产生积极影响的工作的开始。此外,此次更新还包含了一些修正,以防止未来出现 Clang 警告和内核模块更新问题,这充分体现了 Linux 致力于保持与最新编译器工具兼容性的决心。
从用户的角度来看,这些变化不会立即显现,但它们会对维护和可用性产生影响。开发社区正在密切关注这些进展,而目前尚处于实验阶段的基础最终可能成为 Rust 实现更广泛应用的关键。关键在于内核正在做好准备,以跟上这些新发展的步伐,而这项工作通常在用户察觉之前就已经完成。
Linux 系统作为一款功能更加全面的系统,其地位正不断巩固,而此次拓展 Rust 功能的努力正是这一战略的重要组成部分。这并非翻天覆地的变化,但这一进步最终可能对更广泛的设备至关重要。目前,Linux 7.3 只是一个垫脚石,未来或许能为 Rust 在非传统环境中提供更强大的支持,这得益于 Rust 与 GCC 编译器之间正在进行的混合开发。


