Skip to content
GitHub·

🛠️Mold 3.0 Drops C++, Becomes Rusty

Mold 3.0 is here, but it's not just a new version

TL;DR

Mold 3.0, the high-speed linker, now runs on Rust. It's a drop-in replacement for the C++ version, with improved safety and compatibility with GNU ld. Key changes include Rust 1.95+ requirement and Cargo build system.

Mold 3.0 has ditched C++ for Rust, aiming to close compatibility gaps with GNU ld. This update makes Mold safer and more reliable, especially with corrupted input files. Developers using Mold will see no change in performance or output, but the build system now uses Cargo instead of CMake. Rust 1.95 or later is required, and the linker now statically links mimalloc 3.5.3. This move impacts anyone relying on Mold's high-speed linking capabilities without altering their workflows.

Mold 3.0 Drops C++, Becomes Rusty — GitHub

Key Points

1

Mold 3.0 is a Rust rewrite of the high-speed linker, replacing the C++ version.

2

Requires Rust 1.95 or later, built with Cargo instead of CMake.

3

Statically links mimalloc 3.5.3; use --features system-allocator for system malloc.

4

Includes zlib, zstd, and BLAKE3 if available; no longer depends on oneTBB.

5

Fixes several crashes and issues, improving compatibility with GNU ld.

Why It Matters

If you're using Mold for high-speed linking in your C++ projects, the Rust rewrite doesn't change your workflow. But it does make Mold safer and more compatible with GNU ld, which could be a game-changer for teams looking to standardize on a single linker.

rustmoldgnu-ldhigh-speed-linkingc++

Comments

Subscribe to join the conversation...

Be the first to comment

Enjoyed this article?

Get it daily. 7am. Free. Reads in 5 minutes.