Trending: On-device modelsSearch
iHeartGeek
iTECH

Mold 3.0 arrives as the high-speed linker finishes its Rust rewrite

Rui Ueyama's alternative linker has reached its first Rust release, and the project says it is a drop-in replacement for the C++ version with no loss of linking speed.

Abstract composition of glowing orange lines and dots forming a dense web of connections across a black background

Mold, the high-speed linker that has spent six years positioning itself as a faster alternative to GNU ld and LLVM's lld, has shipped its first release written in Rust. Version 3.0.0 arrived on 5 October 2026 and closes out the C++ line: the project says 2.42.1, published on 11 September, will be its last C++ build.

A drop-in replacement, on purpose

Mold 3.0 is described as a drop-in replacement for 2.42.1. It accepts the same command-line options, supports the same target architectures and produces the same output apart from the bug fixes the release lists. Linking speed, which is the whole point of the project, is quoted as remaining on par with 2.42.1. Compatibility was checked by running the project's test suite on every supported target, comparing linker output across a broad range of real-world workloads and option combinations, and building every package in Gentoo. The maintainer reports no regressions.

What the Rust version changes

The rewrite is not only a change of language. Mold's C++ version could read past the end of a buffer when handed a corrupted input file and crash with a segmentation fault; the Rust version bounds-checks those reads and stops with a panic instead. The build system has moved from CMake to Cargo and now requires Rust 1.95 or later, the dependency on oneTBB is gone, and mold still links mimalloc 3.5.3 unless it is built against the system allocator. Prebuilt archives are published for x86-64, AArch64, ARM, LoongArch, POWER, RISC-V and s390x Linux, plus Windows on x86-64.

The ambition is to be the default

Mold 3.x is aimed at closing the remaining compatibility gaps with GNU ld, particularly in linker script support, and at clearing the way for Linux distributions to adopt mold as their default linker. The project is MIT-licensed and has been on GitHub since 2020, where it has picked up more than 17,000 stars. Being faster than GNU ld and being trusted as the default are different problems, and the second is the one this release is about.

Our opinion

For a project whose entire pitch is speed, mold 3.0 is a strangely conservative release, and it is better for it. A C++ to Rust rewrite is the sort of thing that normally arrives with a benchmark table and a day-one regression; here the headline claim is that nothing changed that should not have, with same options, same output and same speed backed by a test suite, a cross-workload output comparison and a full Gentoo rebuild. The most useful change is the least glamorous one: bounds-checking corrupted input so that a bad object file stops the linker with a panic instead of a segmentation fault. Nobody puts that on a slide.

The compatibility work matters more than the language. Mold has been faster than GNU ld for years without being trusted with a distribution's defaults, and linker scripts are the long tail of that problem: the awkward, distribution-specific glue that decides whether a drop-in replacement really is one. If mold ever does become a default, it will be this quiet release, not one of the flashier ones, that made it possible.

Photo by U.Lucas Dube-Cantin on Pexels.