Versi terbaru dari linker Mold telah diterbitkan, yang dapat digunakan sebagai pengganti linker GNU yang lebih cepat dan transparan. Linux-sistem. Proyek ini sedang dikembangkan oleh penulis linker LLVM lld. Fitur utama Mold adalah kecepatan penautan berkas objeknya yang sangat tinggi, secara signifikan mengungguli linker GNU gold dan LLVM lld (penautan di Mold hanya setengah lebih cepat daripada sekadar menyalin berkas dengan utilitas cp). Kode tersebut ditulis dalam C++ (C++20) dan didistribusikan di bawah lisensi AGPLv3.
овой ерсии:
- Menambahkan dukungan untuk optimasi pada tahap penautan (LTO, Link Time Optimization). Pengoptimalan LTO berbeda dengan mempertimbangkan status semua file yang terlibat dalam proses pembuatan, sedangkan mode pengoptimalan tradisional mengoptimalkan setiap file secara terpisah dan tidak memperhitungkan kondisi untuk memanggil fungsi yang ditentukan dalam file lain. Padahal sebelumnya, ketika file kode perantara (IR) GCC atau LLVM ditemukan, linker ld.bfd atau ld.lld yang sesuai dipanggil, sekarang Mold memproses file IR secara independen dan menggunakan API Plugin Linker, juga digunakan di GNU ld dan GNU penghubung emas. Ketika diaktifkan, LTO hanya sedikit lebih cepat dibandingkan linker lainnya karena sebagian besar waktu dihabiskan untuk melakukan optimasi kode dibandingkan melakukan linking.
- Menambahkan dukungan untuk arsitektur RISC-V (RV64) pada platform host dan target.
- Menambahkan opsi “--emit-relocs” untuk mengaktifkan penyalinan bagian relokasi dari file input ke file output untuk penerapan pengoptimalan selanjutnya pada tahap pasca-tautan.
- Menambahkan opsi “--shuffle-sections” untuk mengacak urutan bagian sebelum menetapkan alamatnya di ruang alamat virtual.
- Menambahkan opsi “--print-dependencies” dan “--print-dependencies=full” untuk menghasilkan informasi dalam format CSV tentang ketergantungan antar file masukan, yang, misalnya, dapat digunakan untuk menganalisis alasan koneksi saat menautkan file objek tertentu atau saat melakukan pekerjaan minifikasi ketergantungan antar file.
- Menambahkan opsi "--warn-once" dan "--warn-textrel".
- Menghapus ketergantungan pada libxxhash.
Sumber: opennet.ru
