AtbrÄ«vots Savvaļas saite 0.9.0 ā jauns augstas veiktspÄjas saistÄ«ts rÄ«ks, kas rakstÄ«ts Rust valodÄ. Laidiens ir pieejams vietnÄ GitHub. 23 maijÄ 2026 gadsProjekts ir pozicionÄts kÄ saite iteratÄ«vas izstrÄdes paÄtrinÄÅ”anai: autori galu galÄ vÄlas panÄkt pakÄpenisku saiteÅ”anu, lai gan paÅ”reizÄjÄ versijÄ tÄ vÄl nav ieviesta. Kods tiek izplatÄ«ts saskaÅÄ ar dubultu licenci. Apache 2.0 / MIT.
GalvenÄ izmaiÅa Wild 0.9 versijÄ ir atbalsts SaistÄ«tÄja spraudÅa API, saskarne, kas tika ieviesta Gold saitÄ un ko atbalsta arÄ« GNU ld un Mold. Wild tas paver ceļu uz saistÄ«tÄja spraudÅa LTO ā saistīŔanas laika optimizÄcija, izmantojot saistīŔanas spraudni. IzstrÄdÄtÄji Ä«paÅ”i norÄda, ka tas galvenokÄrt ir noderÄ«gi C, C++ un jaukta koda projektiem, savukÄrt tÄ«ri Rust projekti parasti veic LTO iekÅ”Äji. Å Ä«s funkcijas atbalstam joprojÄm ir zinÄmas problÄmas, un saistīŔana, izmantojot spraudni, var bÅ«t lÄna.
IevÄrojama daļa darba 0.9 versijÄ bija saistÄ«ta ar sagatavoÅ”anos Wild pÄrcelÅ”anai Ärpus tÄs. Linux/ELF. ELF specifiskÄ loÄ£ika ir pÄrvietota Ärpus abstrakciju robežÄm, un ir uzsÄkts darbs pie atbalsta. MaŔīnas Ätrums Šø WebAssemblyÅ Ä«s iespÄjas vÄl nav gatavas praktiskai lietoÅ”anai, taÄu pirmie elementi jau ir parÄdÄ«juÅ”ies: Mach-O parsÄÅ”ana, sekciju un segmentu apstrÄde, simbolu tabula, koda paraksts, FAT binÄrais fails, kÄ arÄ« sÄkotnÄjais atbalsts WASM sekcijÄm, simboliem un pÄrvietoÅ”anai.
GalvenÄs izmaiÅas Wild Linker 0.9 versijÄ:
Atbalsts saiÅ”u spraudÅiem. Pievienots atbalsts saistÄ«tÄja spraudÅa API, kas ir nepiecieÅ”ams saistÄ«tÄja spraudÅa LTO un saderÄ«bai ar dažiem GCC/GNU ld/Mold bÅ«vÄÅ”anas skriptiem. Tika arÄ« novÄrstas dažas problÄmas, kas saistÄ«tas ar spraudÅu atzvanīŔanas funkcijÄm, tostarp visa arhÄ«va, ThinLTO, atvÄrto failu ierobežojuma un miruÅ”Ä koda noÅemÅ”anas LTO laikÄ.
BÅ«tiska saiÅ”u skriptu atbalsta paplaÅ”inÄÅ”ana. Ir ieviestas PROVIDE un PROVIDE_HIDDEN direktÄ«vas, ASSERT parsÄÅ”ana un izpilde, atbalsts MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K un M sufiksiem skaitliskajos literÄļos, loÄ£iskie, bitu un unÄrie operatori, kÄ arÄ« saskaÅoÅ”ana pÄc ievades failu nosaukumiem. Tas tuvina Wild saderÄ«bu ar sarežģītiem saiÅ”u skriptiem, kas bieži atrodami sistÄmas programmatÅ«rÄ un zema lÄ«meÅa projektos.
Uzlabojumi RISC-V, AArch64, x86-64 un LoongArch64. Pievienota RISC-V izsaukumu relaksÄcija, HI20 relaksÄcija, R_RISCV_ALIGN, konfliktÄjoÅ”u ISA paplaÅ”inÄjumu pÄrbaude, papildu AArch64 pÄrvietoÅ”anas, diapazona paplaÅ”inÄjuma ÄtrÄs reaÄ£ÄÅ”anas uzdevumi AArch64, vairÄku x86-64 pÄrvietoÅ”anas apstrÄde ar relaksÄcijÄm un diapazona un izlÄ«dzinÄÅ”anas precizÄjumi LoongArch64.
Jaunas saderības opcijas. Pievienots atbalsts --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags un bezatstarpes formai -o/path.
Statiski kustÄ«gu objektu Ä£enerÄÅ”ana. Pievienots atbalsts statisku pÄrvietojamu objektu izveidei ā starpposma objektu failiem, kas joprojÄm var piedalÄ«ties turpmÄkajÄ saistīŔanÄ.
VeiktspÄjas uzlabojumi, nekoncentrÄjoties uz "Ätru" izlaiÅ”anu. Autori nepÄrprotami norÄda, ka 0.9 versijÄ nebija iekļauti nekÄdi bÅ«tiski veiktspÄjas uzlabojumi, taÄu netika novÄrota arÄ« degradÄcija. LokÄlÄs optimizÄcijas ietver Ätru ceļu neglobÄliem saskaÅotÄjiem versiju skriptos, atomu operÄciju skaita samazinÄÅ”anu, paralÄlu sadaļu un simbolu adreÅ”u aprÄÄ·inÄÅ”anu relaksÄcijas skenÄÅ”anas laikÄ un jau atrisinÄtu sadaļu atkÄrtotas apstrÄdes samazinÄÅ”anu.
Daudzi saderÄ«bas labojumi. NovÄrsta vÄju nedefinÄtu simbolu, .ctors/.dtors, RELRO, versiju skriptu, SFrame, IFUNC, --version/-v, nedefinÄtu simbolu kļūdu, brÄ«dinÄjumu, atkļūdoÅ”anas pÄrvietoÅ”anas, .eh_frame, SHT_SYMTAB_SHNDX, dinamisko objektu statiskÄs saistīŔanas un vairÄku scenÄriju ar saistīŔanas skriptiem apstrÄde.
DokumentÄcija un projektu vadÄ«ba. Ir pievienots rÄ«cÄ«bas kodekss, LLM lietoÅ”anas politika, pÄrvaldÄ«bas dokumentÄcija, saistÄ«to skriptu atbalsta matrica, instrukcijas par -fuse-ld=wild lietoÅ”anu ar GCC 16.1 un instalÄÅ”anu, izmantojot Brew. Repozitorijs ir arÄ« pÄrvietots uz atseviŔķu GitHub organizÄciju ā wild-linker.
TajÄ brÄ«dÄ«, MežonÄ«gs oficiÄli galvenokÄrt koncentrÄjas uz Linux un ELF. Projekta README fails atbalsta x86-64, ARM64, RISC-V riscv64gc un sÄkotnÄjais atbalsts LoongArch64 par Linux; var veidot statiskus binÄros failus, statisku PIE, dinamiski saistÄ«tus izpildÄmos failus un .so failus, darbojas ar atkļūdoÅ”anas informÄciju, GNU jobserver un dažiem saistīŔanas skriptiem. PakÄpeniska saistīŔana, sarežģītÄki saistīŔanas skripti, Mach-O un Windows paÅ”laik tiek klasificÄtas kÄ nerealizÄtas vai nepabeigtas iespÄjas.
Praktiski Wild 0.9 paplaÅ”ina saderÄ«bu ar esoÅ”o bÅ«vÄÅ”anas ekosistÄmu, sÄk paplaÅ”inÄties Ärpus ELF un pievieno atbalstu scenÄrijiem, kas apgrÅ«tina saistÄ«tÄja izmantoÅ”anu lielos C/C++ un jauktos projektos. Rust izstrÄdÄtÄjiem Wild joprojÄm ir interesants kÄ potenciÄla bÄze turpmÄkai pakÄpeniskai saistīŔanai, bet sistÄmu izstrÄdÄtÄjiem ā kÄ vÄl viens Ätrs konkurents GNU ld, LLD un Mold.
Avots: linux.org.ru
