I-Mold 1.1 isivele ikhishiwe, yazi izindaba zale Linker yesimanje idlula igolide le-GNU ne-LLVM

Ezinsukwini ezimbalwa ezedlule ukukhishwa kwenguqulo entsha ye-Linker Mold 1.1 yesimanje imenyezelwe, engasetshenziswa njengokumiselela okusobala okusheshayo kwesixhumi se-GNU kumasistimu e-Linux.

Kule nguqulo entsha yesikhunta 1.1 inguqulo iqukethe izici ezintsha, ukulungiswa kweziphazamisi, nokuthuthukiswa kokusebenza.

Mayelana neMold

Isibungu isekela zonke izici zesixhumanisi se-GNU futhi inokusebenza okuphezulu kakhulu, njengoba izixhumanisi ezenzayo zishesha ngokuphindwe kabili kuphela njengokukopisha amafayela ngosizo lwe-cp.

Ngale ndlela i ukunciphisa isikhathi sokuhlanganisa kuthuthukisa kakhulu ukusebenziseka kokuthuthukisa amaphrojekthi amakhulu ngokunciphisa isikhathi sokulinda enqubweni yokukhiqiza esebenzisekayo lapho ukulungisa iphutha nokuhlola izinguquko.

Isisusa sokudala iMold kwaba ukucasuka kokulinda ukuthi isixhumanisi siqedwe ngemuva kokushintshwa kwekhodi ngakunye, kanye nokusebenza kahle okuphansi kwabaxhumanisi abakhona ezinhlelweni ze-multicore kanye nesifiso sokuhlola i-architecture yezixhumanisi ehluke kakhulu ngaphandle kokuphendukela kumamodeli ayinkimbinkimbi ngokungadingekile njengokuxhumanisa okukhulayo.

Ukusebenza okuphezulu kokuxhumanisa ifayela elisebenzisekayo kusuka enanini elikhulu lamafayela ento elungiselelwe umdidiyeli ku-Mold kufinyelelwa ngokusebenzisa ama-algorithms asheshayo, ukufana okusebenzayo kokusebenza phakathi kwama-CPU cores atholakalayo, kanye nokusetshenziswa kwezakhiwo zedatha ngokuphumelelayo.

Isibonelo, Isikhunta sisebenzisa isu ukwenza izibalo ezijulile kanyekanye ngokukopishwa kwefayela, ukulayisha ngokuqhubekayo amafayela ento enkumbulweni, usebenzisa amatafula e-hashi asheshayo lapho uxazulula izinhlamvu, ukuskena amathebula okuthutha endaweni ehlukile yokusakaza kanye nezigaba eziphindaphindayo eziphindaphindwayo kumafayela ahlukene.

Amanoveli amakhulu we-Mold 1.1

Kule nguqulo entsha ye-Mold 1.1 eyethulwa, kugqanyiswe ukuthi i- ukwesekwa kokuthuthukiswa kwesiteji sesixhumanisi (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 ngokwalo futhi azinaki imibandela yokubiza imisebenzi echazwe kwamanye amafayela.

Ngaphambilini, lapho kuhlangatshezwana namafayela ekhodi emaphakathi ye-GCC noma ye-LLVM yekhodi (IR), kwasetshenziswa izixhumanisi ezifanele ze-ld.bfd noma ze-ld.lld, kodwa manje i-Mold iphatha amafayela e-IR iyodwa futhi isebenzisa i-Linker plugin API, nayo esetshenziswa ku-GNU ld kanye Izixhumanisi zegolide ze-GNU. Isivinini lapho i-LTO inikwe amandla ishesha kancane kunezinye izixhumi, njengoba isikhathi esiningi sichithwa kulungiselelwa ikhodi, hhayi ukuxhumanisa.

Kubuye kuqhakanjiswe lokho izinketho zengeziwe “–print-dependencies” kanye “–print-dependencies=full” pUkukhiqiza ulwazi ngefomethi ye-CSV mayelana nokuncika phakathi kwamafayela okokufaka, okungenzeka, isibonelo, asetshenziselwe ukuhlaziya izizathu zokuxhuma lapho kuxhunywa amafayela ezinto ezithile noma ngenkathi kusebenzela ukunciphisa ukuncika phakathi kwamafayela.

Olunye ushintsho olugqamayo ku-eversion entsha ukuthi i ukusekelwa kwe-RISC-V architecture (RV64) kumsingathi kanye nezinkundla okuqondiswe kuzo.

Ngaphezu kwalokho, singathola futhi lokho wengeze inketho ethi “–emit-relocs” ukuze unike amandla ukukopishwa kwezigaba zokuthutha ikheli ukusuka kumafayela okokufaka kuye kumafayela wokugcina ukuze kuthuthukiswe okwengeziwe ukuze kusetshenziswe esigabeni sokuthumela isixhumanisi.

Kwezinye izinguquko ezigqamile:

  • Inketho eyengeziwe ethi “-shuffle-sections” ukuze wenze ngokungahleliwe ukuhleleka kwezigaba ngaphambi kokulungisa amakheli azo endaweni yamakheli abonakalayo.
  • Kwengezwe izinketho "-warn-once" kanye "-warn-textrel".
  • Kukhishwe ukuncika ku-libxxhash.

Okokugcina uma unentshisekelo yokwazi kabanzi ngakho, ungabheka imininingwane kufayela le- isixhumanisi esilandelayo.

Indlela yokufaka i-Mould?

Kulabo abanesifiso sokukwazi ukusebenza ne-Mold, bangathola insiza ngokulanda futhi bahlanganise ikhodi yomthombo. Ukuze wenze lokhu, vele uvule itheminali bese uthayipha okulandelayo:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.1.1
make -j$(nproc) CXX=clang++
sudo make install

Ukuze wazi ukusetshenziswa kwe-Mold, ungabheka imibhalo kulesi sixhumanisi.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.