mold 3.0.0 adalah rilis utama baru dari linker berkecepatan tinggi, ditulis ulang dari C++ ke Rust. Ini adalah versi Rust pertama, dengan 2.42.1 menjadi rilis C++ terakhir. Tujuan mold 3.x adalah untuk menutup kesenjangan kompatibilitas dengan GNU ld, khususnya dalam dukungan skrip linker, dan membuka jalan bagi mold untuk diadopsi sebagai linker default di distribusi Linux.
mold 3.0 adalah pengganti langsung untuk 2.42.1, menerima opsi baris perintah yang sama dan mendukung target yang sama. Kinerja penautan tetap setara. Perpindahan ke Rust membuat mold lebih aman dengan file input yang rusak; versi C++ dapat membaca memori di luar batas, sementara mold 3.0 memeriksa batas dan panik sebagai gantinya.
Perubahan build termasuk menggunakan Cargo alih-alih CMake, membutuhkan Rust 1.95 atau lebih baru. Jalankan `cargo build --release` dan `./install-mold.sh`. mold tidak lagi bergantung pada TBB dan menautkan secara statis mimalloc 3.5.3. Rangkaian pengujian berjalan dengan `cargo test`.
Perbaikan bug termasuk memperbaiki crash dengan skrip versi, `--gc-sections` tidak lagi menghapus fungsi dari `--init` dan `--fini`, dan memperbaiki output non-deterministik di beberapa area. Kesalahan untuk relokasi relatif-PC terhadap simbol di pustaka bersama sekarang ditangani dengan benar.
Sumber: Hacker News · Diringkas oleh HeadlinesBriefing