GNU bağlayıcısının yerine daha hızlı ve şeffaf bir alternatif olarak kullanılabilecek Mold bağlayıcısının bir sürümü yayınlandı. Linux-системах. Проект развивает автор компоновщика LLVM lld. Ключевой особенностью Mold является очень высокая скорость связывания объектных файлов, заметно опережающая компоновщики GNU gold и LLVM lld (компоновка в Mold выполняется со скоростью, всего в два раза медленнее простого копирования файлов утилитой cp). Код написан на языке С++ (C++20) и распространяется под лицензией AGPLv3.
Yeni sürümde:
- Bağlantı aşamasında optimizasyon desteği eklendi (LTO, Bağlantı Süresi Optimizasyonu). LTO optimizasyonları, oluşturma sürecine dahil olan tüm dosyaların durumunu dikkate alarak farklılık gösterirken, geleneksel optimizasyon modları her dosyayı ayrı ayrı optimize eder ve diğer dosyalarda tanımlanan işlevlerin çağrılmasına ilişkin koşulları dikkate almaz. Daha önce GCC veya LLVM ara kod (IR) dosyaları bulunduğunda karşılık gelen ld.bfd veya ld.lld bağlayıcılar çağrılırken, şimdi Mold IR dosyalarını bağımsız olarak işler ve GNU ld ve GNU'da da kullanılan Bağlayıcı Eklenti API'sini kullanır. altın bağlayıcılar Etkinleştirildiğinde, LTO diğer bağlayıcılardan çok az daha hızlıdır çünkü çoğu zaman bağlantı vermek yerine kod optimizasyonları yapmak için harcanır.
- Ana bilgisayar ve hedef platformlarda RISC-V (RV64) mimarisi desteği eklendi.
- Bağlama sonrası aşamada optimizasyonların daha sonra uygulanması için yer değiştirme bölümlerinin giriş dosyalarından çıkış dosyalarına kopyalanmasını etkinleştirmek için “--emit-relocs” seçeneği eklendi.
- Bölümlerin adreslerini sanal adres alanında sabitlemeden önce sırasını rastgele hale getirmek için “--shuffle-sections” seçeneği eklendi.
- Giriş dosyaları arasındaki bağımlılıklar hakkındaki bilgilerin CSV formatında çıktısını almak için "--print-bağımlılıklar" ve "--print-bağımlılıklar=full" seçenekleri eklendi; örneğin belirli nesne dosyalarını bağlarken bağlantının nedenlerini analiz etmek için kullanılabilir veya dosyalar arasında küçültme işi bağımlılıklarını gerçekleştirirken.
- "--warn-one" ve "--warn-textrel" seçenekleri eklendi.
- Libxxhash'a olan bağımlılık kaldırıldı.
Kaynak: opennet.ru
