Itusilẹ ti Mold 1.1 linker, ni idagbasoke nipasẹ LLVM ld

Itusilẹ ti ọna asopọ Mold ti jẹ atẹjade, eyiti o le ṣee lo bi yiyara, rirọpo sihin fun ọna asopọ GNU lori awọn eto Linux. Ise agbese na jẹ idagbasoke nipasẹ onkọwe ti ọna asopọ LLVM ld. Ẹya bọtini kan ti Mold jẹ iyara ti o ga pupọ ti sisopọ awọn faili ohun, ni akiyesi niwaju GNU goolu ati awọn asopọ LLVM ld (sisopọ ni Mold ni a ṣe ni iyara ni idaji ni iyara bi didakọ awọn faili nirọrun pẹlu ohun elo cp). Awọn koodu ti kọ si C ++ (C ++ 20) ati pin labẹ awọn AGPLv3 iwe-ašẹ.

Ninu ẹya tuntun:

  • Atilẹyin ti a ṣafikun fun iṣapeye ni ipele ọna asopọ (LTO, Imudara Akoko Ọna asopọ). Awọn iṣapeye LTO yatọ nipa gbigbe sinu iroyin ipo ti gbogbo awọn faili ti o ni ipa ninu ilana kikọ, lakoko ti awọn ipo iṣapeye aṣa ṣe iṣapeye faili kọọkan lọtọ ati pe ko ṣe akiyesi awọn ipo fun awọn iṣẹ ipe ti a ṣalaye ni awọn faili miiran. Lakoko ti tẹlẹ, nigbati a rii awọn faili GCC tabi LLVM agbedemeji koodu (IR), awọn ld.bfd ti o baamu tabi ld.lld linkers ni a pe, ni bayi Mold ṣe ilana awọn faili IR ni ominira ati lo Linker Plugin API, tun lo ninu GNU ld ati GNU goolu linkers. Nigbati o ba ṣiṣẹ, LTO nikan ni iyara diẹ sii ju awọn ọna asopọ miiran lọ nitori pupọ julọ akoko ni a lo ṣiṣe awọn iṣapeye koodu dipo sisopọ.
  • Atilẹyin ti a ṣafikun fun faaji RISC-V (RV64) lori agbalejo ati awọn iru ẹrọ ibi-afẹde.
  • Ṣafikun aṣayan “--emit-relocs” lati jẹ ki didaakọ ti awọn apakan sibugbepo lati awọn faili titẹ sii si awọn faili igbejade fun ohun elo atẹle ti awọn iṣapeye ni ipele isopo-lẹhin.
  • Ṣe afikun aṣayan “--shuffle-sections” lati ṣe laileto aṣẹ ti awọn apakan ṣaaju ṣiṣe atunṣe awọn adirẹsi wọn ni aaye adirẹsi foju foju.
  • Awọn aṣayan ti a ṣafikun “-print-dependencies” ati “-print-dependencies=ful” lati ṣejade ni alaye ọna kika CSV nipa awọn igbẹkẹle laarin awọn faili titẹ sii, eyiti, fun apẹẹrẹ, le ṣee lo lati ṣe itupalẹ awọn idi fun asopọ nigbati o ba so awọn faili ohun kan pọ. tabi nigbati o ba n ṣe awọn igbẹkẹle iṣẹ miniification laarin awọn faili.
  • Ṣe afikun "--warn-lẹẹkan" ati "--warn-textrel" awọn aṣayan.
  • Igbẹkẹle yiyọ kuro lori libxxhash.

orisun: opennet.ru

Fi ọrọìwòye kun