HeadlinesBriefing HeadlinesBriefing.com

Mold 链接器 3.0.0 发布——Rust 重写

Hacker News •
×

mold 3.0.0 是高速链接器的新主要版本,从 C++ 重写为 Rust。这是首个 Rust 版本,2.42.1 是最后的 C++ 版本。mold 3.x 的目标是缩小与 GNU ld 的兼容性差距,特别是在链接脚本支持方面,并为 mold 被采用为 Linux 发行版的默认链接器铺平道路。

mold 3.0 是 2.42.1 的即插即用替代品,接受相同的命令行选项并支持相同的目标。链接性能保持不变。迁移到 Rust 使 mold 在处理损坏的输入文件时更安全;C++ 版本可能读取越界内存,而 mold 3.0 会进行边界检查并直接崩溃。

构建变更包括使用 Cargo 代替 CMake,需要 Rust 1.95 或更高版本。运行 `cargo build --release` 和 `./install-mold.sh`。mold 不再依赖 TBB,并静态链接 mimalloc 3.5.3。测试套件通过 `cargo test` 运行。

错误修复包括修复版本脚本导致的崩溃,`--gc-sections` 不再移除 `--init` 和 `--fini` 指定的函数,以及修复多个区域的不确定性输出。针对共享库中符号的 PC 相对重定位错误现在被正确处理。

来源: Hacker News · 由HeadlinesBriefing整理摘要