Keluaran penghubung Mould 1.1, dibangunkan oleh LLVM lld

Keluaran pemaut acuan telah diterbitkan, yang boleh digunakan sebagai pengganti yang lebih pantas dan telus untuk pemaut GNU pada sistem Linux. Projek ini dibangunkan oleh pengarang LLVM lld linker. Ciri utama Mould ialah kelajuan yang sangat tinggi untuk memautkan fail objek, dengan ketara mendahului pemaut emas GNU dan LLVM lld (pemautan dalam Mould dilakukan pada kelajuan hanya separuh sepantas hanya menyalin fail dengan utiliti cp). Kod ini ditulis dalam C++ (C++20) dan diedarkan di bawah lesen AGPLv3.

Dalam versi baharu:

  • Menambah sokongan untuk pengoptimuman pada peringkat pemautan (LTO, Pengoptimuman Masa Pautan). Pengoptimuman LTO berbeza dengan mengambil kira keadaan semua fail yang terlibat dalam proses binaan, manakala mod pengoptimuman tradisional mengoptimumkan setiap fail secara berasingan dan tidak mengambil kira syarat untuk memanggil fungsi yang ditakrifkan dalam fail lain. Sedangkan sebelum ini, apabila fail kod perantaraan (IR) GCC atau LLVM ditemui, pemaut ld.bfd atau ld.lld yang sepadan dipanggil, kini Mold memproses fail IR secara bebas dan menggunakan API Pemalam Penghubung, juga digunakan dalam GNU ld dan GNU penghubung emas. Apabila didayakan, LTO hanya lebih pantas sedikit daripada pemaut lain kerana kebanyakan masa dihabiskan untuk melakukan pengoptimuman kod dan bukannya memaut.
  • Menambah sokongan untuk seni bina RISC-V (RV64) pada hos dan platform sasaran.
  • Menambahkan pilihan "--emit-relocs" untuk membolehkan penyalinan bahagian penempatan semula daripada fail input ke fail output untuk aplikasi pengoptimuman seterusnya pada peringkat pasca pautan.
  • Menambahkan pilihan "--shuffle-sections" untuk merawak susunan bahagian sebelum menetapkan alamatnya dalam ruang alamat maya.
  • Menambahkan pilihan "--print-dependencies" dan "--print-dependencies=full" untuk mengeluarkan maklumat dalam format CSV tentang kebergantungan antara fail input, yang, sebagai contoh, boleh digunakan untuk menganalisis sebab sambungan apabila memautkan fail objek tertentu atau semasa menjalankan kebergantungan kerja minifikasi antara fail.
  • Menambahkan pilihan "--warn-sekali" dan "--warn-textrel".
  • Kebergantungan dialih keluar pada libxxhash.

Sumber: opennet.ru

Tambah komen