Losun á Mold 1.1 tengil, þróað af LLVM lld

Útgáfa af Mold tengilinn hefur verið gefin út, sem hægt er að nota sem hraðari, gagnsærri staðgengill GNU tengilinn á Linux kerfum. Verkefnið er þróað af höfundi LLVM lld linker. Lykilatriði í Mold er mjög mikill hraði við að tengja hlutaskrár, áberandi á undan GNU gold og LLVM lld tenglanum (tenging í Mould er framkvæmd á aðeins helmingi hraðari hraða en einfaldlega að afrita skrár með cp tólinu). Kóðinn er skrifaður í C++ (C++20) og dreift undir AGPLv3 leyfinu.

Í nýju útgáfunni:

  • Bætti við stuðningi við hagræðingu á tengingarstigi (LTO, Link Time Optimization). LTO hagræðingar eru mismunandi með því að taka tillit til ástands allra skráa sem taka þátt í byggingarferlinu, en hefðbundin fínstillingarstillingar fínstilla hverja skrá fyrir sig og taka ekki tillit til skilyrða fyrir að kalla aðgerðir sem skilgreindar eru í öðrum skrám. Þar sem áður, þegar GCC eða LLVM intermediate code (IR) skrár fundust, voru samsvarandi ld.bfd eða ld.lld tenglar kallaðir, vinnur Mould nú IR skrár sjálfstætt og notar Linker Plugin API, einnig notað í GNU ld og GNU gylltar tengir. Þegar það er virkt er LTO aðeins örlítið hraðari en aðrir tenglar vegna þess að mestur tíminn fer í að framkvæma kóða fínstillingu frekar en að tengja.
  • Bætti við stuðningi við RISC-V (RV64) arkitektúr á hýsingar- og markpöllunum.
  • Bætti við „--emit-relocs“ valkostinum til að gera kleift að afrita flutningshluta úr inntaksskrám yfir í úttaksskrár fyrir síðari beitingu hagræðingar á stigi eftir tengingu.
  • Bætti við „--shuffle-sections“ valkostinum til að slemba röð hluta áður en vistföng þeirra eru lagfærð í sýndarvistfangarýminu.
  • Bætt við valmöguleikum “--print-dependenties” og “--print-dependencies=full” til að gefa út upplýsingar á CSV sniði um ósjálfstæði milli inntaksskráa, sem til dæmis er hægt að nota til að greina ástæður tengingar þegar tengt er ákveðnar hlutskrár eða þegar verið er að framkvæma smækningarvinnufíkn milli skráa.
  • Bætt við "--warn-once" og "--warn-textrel" valkostinum.
  • Fjarlægði ósjálfstæði á libxxhash.

Heimild: opennet.ru

Bæta við athugasemd