Mold 3.0: porzucono C++ na rzecz Rust


Linker Mold dla Linuxa został w wersji 3.0 całkowicie przepisany z C++ na Rust, zachowując wydajność i kompatybilność poleceń przy jednoczesnym zwiększeniu bezpieczeństwa.
Narzędzie deweloperskie dla Linuxa – linker Mold – zrezygnowało z języka C++ na rzecz Rust.
Mold to linker przyspieszający kompilację programów poprzez łączenie skompilowanego kodu w gotowe aplikacje. Wersja 3.0 została w całości przepisana na Rust. Według twórców działa ona tak samo szybko jak poprzednia wersja napisana w C++.
Polecenia oraz obsługiwane architektury pozostają bez zmian. Aby zweryfikować kompatybilność, deweloperzy zbudowali wszystkie pakiety Gentoo i nie odnotowali żadnych regresji.
Podczas przepisywania kodu:
- CMake zastąpiono narzędziem Cargo;
- usunięto zależność od biblioteki Intel oneTBB;
- dodano sprawdzanie granic (bounds checking) podczas obsługi uszkodzonych plików.
Twórcy dążą obecnie do wyeliminowania pozostałych niezgodności z GNU ld, aby dystrybucje Linuxa mogły używać Mold jako domyślnego linkera.
Dlaczego to ważne
AnalizaPrzepisanie na Rust zmniejsza ryzyko błędów pamięciowych i upraszcza system budowania. Jeśli Mold stanie się domyślnym linkerem, może znacząco przyspieszyć proces budowania pakietów w wielu dystrybucjach Linuxa.
Dyskutuj w społeczności
Dziel się swoimi pytaniami i spostrzeżeniami z programistami