Mit Version 3.0 wechselt der schnelle Linker Mold von C++ zu Rust. Das nächste Ziel steht schon fest: Mold soll Standard-Linker in Linux-Distributionen werden.
Die neue Hauptversion 3.0.0 des Hochgeschwindigkeits-Linkers ist zugleich die erste Version, die komplett in Rust geschrieben ist. Mit der 3.x-Reihe wollen die Entwickler um Mold- und lld-Erfinder Rui Ueyama die letzten Kompatibilitätslücken zu GNU ld schließen, insbesondere bei der Unterstützung von Linker-Skripten, und den Weg dafür ebnen, dass Mold künftig zum Standard-Linker in Linux-Distributionen avanciert.
Dort ist als /usr/bin/ld bislang meist noch GNU ld voreingestellt, das für manche Link-Vorgänge Sekunden oder gar Minuten braucht, die Mold in wenigen Hundert Millisekunden erledigen kann.
Mold 3.0 ist als direkter Ersatz für Version 2.42.1 gedacht, die noch auf C++ basiert. Die Rust-Version unterstützt laut Release Notes unter anderem dieselben Kommandozeilenoptionen und dieselben Zielarchitekturen. Auch bei der Link-Geschwindigkeit herrscht Gleichstand. Zudem erzeugt Mold 3.0 dieselbe Ausgabe wie 2.42.1. Zur Prüfung der Kompatibilität haben die Entwickler unter anderem sämtliche Gentoo-Pakete gebaut und dabei keine Regressionen gefunden.
Der Wechsel zu Rust soll Mold robuster gegenüber beschädigten Eingabedateien machen. In der C++-Version konnte es bei solchen Dateien zu Speicherzugriffen außerhalb der gültigen Grenzen kommen, was einen Absturz mit einem Segmentation Fault zur Folge hatte. Mold 3.0 prüft diese Zugriffe auf Array- und Speichergrenzen, sodass der Linker an der fehlerhaften Stelle stattdessen kontrolliert mit einem Panic abbricht.
Mold 3.0 nutzt Cargo statt CMake als Build-System, setzt Rust 1.95 oder neuer sowie einen C-Compiler voraus und ist nicht mehr von der oneTBB-Bibliothek abhängig. Wer Mold 3.0 selbst baut, führt zuerst cargo build --release aus und installiert den Linker anschließend mit ./install-mold.sh.
(mro)
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | mold : un linker réécrit en Rust | 0 | 10.2 | 07-10-2026 |
| 2 | Чудеса nightly, часть 1: на чём тайком держится stable Rust | 0 | 8.55 | 29-09-2026 |
| 3 | Ein Stück C++-Compiler-Geschichte wird Open Source | 0 | 16.53 | 01-10-2026 |
| 4 | Calling static C++ method from Rust | 0 | 9.94 | 04-10-2026 |
| 5 | Rust на вырост. Почему мы изучаем язык, который не входит в наш основной стек | -1 | 7.24 | 10-09-2026 |
| 6 | Выпуск Rust 1.99.0. Microsoft перевёл Rust в число первичных языков | 0 | 11.06 | 03-10-2026 |
| 7 | Rust пытается отобрать у C роль универсального языка между языками | 0 | 8.98 | 29-09-2026 |
| 8 | Thisversion: Keep schema history out of your application model | 0 | 7.06 | 05-10-2026 |
| 9 | Третий альфа-выпуск мессенджера Pidgin 3 | 0 | 20.83 | 07-10-2026 |
| 10 | sysutils/read-edid - 3.0.2 | 0 | 33.06 | 02-10-2026 |