Ukukhishwa kwesixhumanisi se-Mold 1.1, esithuthukiswe yi-LLVM lld

Ukukhishwa kwesixhumanisi se-Mold kushicilelwe, esingasetshenziswa njengokushintshwa okusheshayo, okusobala kwesixhumi se-GNU ezinhlelweni ze-Linux. Iphrojekthi ithuthukiswe ngumbhali we-LLVM lld linker. Isici esiyinhloko se-Mold isivinini esikhulu sokuxhumanisa amafayela ezinto, ngokuphawulekayo ngaphambi kwezixhumi zegolide ze-GNU ne-LLVM lld (ukuxhumanisa ku-Mold kwenziwa ngesivinini esiyingxenye nje esheshayo njengokukopisha amafayela nge-cp utility). Ikhodi ibhalwe ngo-C++ (C++20) futhi isatshalaliswa ngaphansi kwelayisensi ye-AGPLv3.

Enguqulweni entsha:

  • Ukwesekwa okwengeziwe kokwenza kahle esigabeni sokuxhumanisa (i-LTO, Ukuthuthukiswa Kwesikhathi Sesixhumanisi). Ukulungiselelwa kwe-LTO kuyahluka ngokucabangela isimo sawo wonke amafayela abandakanyekayo enqubweni yokwakha, kuyilapho izindlela ezingokwesiko zokwenza ngcono zilungiselela ifayela ngalinye ngokuhlukile futhi azinaki imibandela yokubiza imisebenzi echazwe kwamanye amafayela. Nakuba ngaphambilini, lapho kutholwa amafayela ekhodi emaphakathi ye-GCC noma ye-LLVM (IR), izixhumi ezihambisanayo ze-ld.bfd noma ze-ld.lld zazibizwa, manje i-Mold icubungula amafayela e-IR ngokuzimela futhi isebenzisa i-Linker Plugin API, nayo esetshenziswa ku-GNU ld naku-GNU. izixhumanisi zegolide. Uma inikwe amandla, i-LTO ishesha kancane kuphela kunezinye izixhumi ngoba isikhathi esiningi sichithwa kwenziwa ukulungiselelwa kwekhodi kunokuxhumanisa.
  • Usekelo olungeziwe lwezakhiwo ze-RISC-V (RV64) kumsingathi nezinkundla okuqondiwe kuzo.
  • Kwengezwe inketho ethi “--emit-relocs” ukuze unike amandla ukukopishwa kwezigaba zokuthutha ukusuka kumafayela okokufaka kuye kumafayela okukhiphayo ukuze kusetshenziswe ukuthuthukiswa okulandelayo esigabeni sokuxhumanisa.
  • Kwengezwe inketho ethi “--shuffle-sections” ukuze wenze ngokungahleliwe ukuhleleka kwezigaba ngaphambi kokulungisa amakheli azo endaweni yamakheli abonakalayo.
  • Okukhethwa kukho okungeziwe "--print-dependencies" kanye "--print-dependencies=full" ukuze kukhishwe ulwazi lwefomethi ye-CSV mayelana nokuncika phakathi kwamafayela okufakwayo, lawo, isibonelo, angasetshenziswa ukuhlaziya izizathu zokuxhuma lapho kuxhunywa amafayela ezinto ezithile. noma lapho kwenziwa ukuncika komsebenzi wokunciphisa phakathi kwamafayela.
  • Kwengezwe izinketho "--warn-once" kanye "--warn-textrel".
  • Kususwe ukuncika ku-libxxhash.

Source: opennet.ru

Engeza amazwana