Η επανεγγραφή σε Rust και οι αλλαγές στη χτίση

Το mold 3.0.0 ξαναγράφηκε από C++ σε Rust, χρησιμοποιώντας το Cargo ως build system αντί του CMake. Η μεταφορά απαιτεί Rust 1.95 ή νεώτερο και έναν C compiler, ενώ το mimalloc 3.5.3 παραμένει ο προεπιλεγμένος allocator με δυνατότητα system allocator μέσω του --features system-allocator. Αφαιρέθηκε η εξάρτηση από το oneTBB, και οι επιλογές χτίσης που βασιζονταν σε CMake αφαιρέθηκαν.

Βελτιώσεις ασφαλείας και συμβατότητας

χάρη στους bounds‑checked accesses του Rust, το mold τερματίζει με segmentation fault όταν διαβάζει κακώς μορφωμένα αρχεία εισόδου· αντίθετα, προκαλεί panic στο σημείο λάθους. parallela, διόρθωθηκαν dozens of bugs που επηρέαζαν linker scripts, version scripts, COMDAT groups και diverse relocations, εγγυώνοντας διαλειτουργικότητα (interoperability) με το GNU ld και καθιστώντας το mold drop‑in replacement της έκδοσης 2.42.1.

Επιπτώσεις στην απόδοση και μελλοντική przyjęση

Η απόδοση linking παραμένει σύγκριμη με την προηγούμενη έκδοση, ενώ η μειωμένη χρήση εικονικής διεύθυνσης (όχι π rezervή 8 GiB) επιτρέπει τη λειτουργία υπό περιορισμούς ulimit -v. Αυτά τα χαρακτηριστικά, συνδυασμένα με τις ασφαλείς και ακριβείς λειτουργίες, κάνουν το mold 3.0.0 έναν ισχυρό candidato για adoption ως default linker σε Linux διανομές.