Yüksek hızlı bağlayıcı mold Rust ile baştan yazıldı
Öne çıkanlar
- mold 3.0.0, C++ kod tabanını tamamen terk ederek Rust ile yeniden yazıldı.
- Tüm Gentoo paketleriyle test edilen yeni sürümde önceki sürüme kıyasla gerileme tespit edilmedi.
- CMake tabanlı derleme sistemi kaldırılarak Cargo ve Rust 1.95 gereksinimi getirildi.
- Bozuk dosya girdilerinde bellek taşması çökmesi yerine kontrollü panik mekanizması devreye alındı.
Açık kaynaklı yüksek hızlı bağlayıcı projesi mold, C++ dilinden Rust diline tamamen yeniden yazıldığı 3.0.0 sürümünü yayımladı. Proje ekibi bu adımla birlikte GNU ld ile aradaki uyumluluk açıklarını kapatmayı ve Linux dağıtımlarında varsayılan bağlayıcı haline gelmeyi hedefliyor. 2.42.1 sürümü C++ tabanlı son dağıtım olurken, yeni Rust sürümü doğrudan eski versiyonun yerine geçebilecek şekilde aynı komut satırı seçeneklerini ve mimarileri desteklemeyi sürdürüyor.
Yeni sürümün test süreçlerinde tüm Gentoo paketleri başarıyla derlendi ve bağlama performansının 2.42.1 sürümüyle eşit seviyede kaldığı doğrulandı. Rust mimarisine geçiş, bozuk girdi dosyalarının işlenmesi sırasında bellek güvenliğini belirgin ölçüde artırdı. C++ sürümünde bellek sınırlarının dışına taşarak çökmeye neden olan hatalı dosyalar, mold 3.0 ile birlikte sınır denetimlerine takılarak panik mekanizmasıyla güvenli şekilde durduruluyor.
Yeniden yazım sürecinin ardından derleme altyapısı da CMake yerine Cargo sistemine taşındı. Projeyi kaynaktan inşa etmek için en az Rust 1.95 sürümü ile bir C derleyicisi gerekiyor. Geliştiriciler ayrıca Intel oneTBB bağımlılığını kaldırarak mimalloc statik bağlantısını korudu. Sürüm, Chromium gibi büyük projelerin AArch64 derlemelerinde görülen işlev çağrı hatalarını ve çok sayıda platforma özgü bayrak uyumsuzluğunu da düzeltti.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.