Wild Linker 0.9

Gipagawas Wild Linker 0.9.0 — usa ka bag-ong high-performance linker nga gisulat sa Rust. Ang pagpagawas gilista sa GitHub. 23 Mayo 2026 ka tuigAng proyekto gipahimutang isip usa ka linker alang sa pagpadali sa iterative development: ang mga tagsulat sa katapusan gusto nga makab-ot ang incremental linking, bisan kung wala pa kini gipatuman sa kasamtangang bersyon. Ang code giapod-apod ubos sa usa ka dual license. Apache 2.0 / MIT.

Ang pangunang pagbag-o sa Wild 0.9 mao ang suporta API sa Plugin sa Linker, usa ka interface nga gipaila sa Gold linker ug gisuportahan usab sa GNU ld ug Mold. Para sa Wild, kini nagbukas sa dalan ngadto sa linker-plugin LTO — pag-optimize sa oras sa pag-link pinaagi sa usa ka linker plugin. Ang mga developers espesipikong nag-ingon nga kini panguna nga mapuslanon alang sa mga proyekto sa C, C++, ug mixed-code, samtang ang puro nga mga proyekto sa Rust kasagaran naghimo sa LTO sa sulod. Ang suporta alang niini nga bahin aduna gihapoy nahibal-an nga mga isyu, ug ang pag-link pinaagi sa plugin mahimong hinay.

Usa ka dakong bahin sa trabaho sa 0.9 ang may kalabutan sa mga pagpangandam alang sa pagbalhin sa Wild beyond Linux/ELF. Ang lohika nga espesipiko sa ELF gibalhin na sa gawas sa mga abstraksyon, ug ang trabaho sa suporta nagsugod na. Mach-O и WebAssemblyKini nga mga kapabilidad dili pa andam alang sa praktikal nga paggamit, apan ang unang mga elemento nagpakita na: Mach-O parsing, section ug segment processing, symbol table, code signature, fat binary, ingon man ang inisyal nga suporta alang sa wasm sections, symbols, ug relocations.

Mga importanteng pagbag-o sa Wild Linker 0.9:

  • Suporta para sa mga linker plugin. Gidugang ang suporta para sa mga linker plugin API, nga gikinahanglan para sa linker-plugin LTO ug sa pagkaangay sa pipila ka GCC/GNU ld/Mold build scripts. Naayo usab ang pipila ka mga isyu nga may kalabutan sa mga plugin callback, lakip ang whole-archive, ThinLTO, ang open file limit, ug pagtangtang sa dead code atol sa LTO.

  • Dakong pagpalapad sa suporta sa mga linker script. Ang mga direktiba sa PROVIDE ug PROVIDE_HIDDEN, ang ASSERT parsing ug execution, ang suporta para sa MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K ug M suffixes sa numeric literals, logical, bitwise, ug unary operators, ug ang pagpares pinaagi sa input file names ang gipatuman. Kini nagdala sa Wild nga mas duol sa compatibility sa mga komplikadong link script nga kasagarang makita sa system software ug mga low-level nga proyekto.

  • Mga pagpaayo para sa RISC-V, AArch64, x86-64 ug LoongArch64. Gidugang ang RISC-V call relaxation, HI20 relaxation, R_RISCV_ALIGN, pagsusi sa nagkasumpaki nga ISA extensions, dugang nga AArch64 relocations, range-extension thunks para sa AArch64, pagdumala sa pipila ka x86-64 relocations nga adunay relaxations, ug range ug alignment clarifications para sa LoongArch64.

  • Bag-ong mga opsyon sa pagkaangay. Gidugang ang suporta para sa --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags, ug ang space-less nga porma nga -o/path.

  • Pagmugna og mga butang nga estatiko nga naglihok. Gidugang ang suporta para sa paghimo og static relocatables—mga intermediate object files nga mahimo gihapon nga moapil sa dugang nga pag-link.

  • Mga pag-uswag sa performance nga wala mag-focus sa usa ka "paspas" nga pagpagawas. Klaro nga gipunting sa mga awtor nga ang 0.9 wala maglakip sa bisan unsang dagkong mga pag-uswag sa performance, apan wala usab kini nakitang pagkadaot. Ang lokal nga mga pag-optimize naglakip sa usa ka paspas nga agianan para sa mga dili-global nga matcher sa mga script sa bersyon, usa ka pagkunhod sa gidaghanon sa mga operasyon sa atomika, parallel nga kalkulasyon sa mga adres sa seksyon ug simbolo atol sa mga relaxation scan, ug pagkunhod sa pagproseso pag-usab sa mga nasulbad na nga mga seksyon.

  • Daghang mga pag-ayo sa pagkaangay. Giayo ang pagdumala sa mga mahuyang nga wala matino nga mga simbolo, .ctors/.dtors, RELRO, mga script sa bersyon, SFrame, IFUNC, --version/-v, mga sayop sa wala matino nga simbolo, mga pasidaan, mga pagbalhin sa debug, .eh_frame, SHT_SYMTAB_SHNDX, static linking sa dinamikong butang, ug pipila ka mga senaryo gamit ang mga script sa linker.

  • Dokumentasyon ug pagdumala sa proyekto. Usa ka kodigo sa pamatasan, palisiya sa paggamit sa LLM, dokumentasyon sa pagdumala, usa ka linker scripts support matrix, mga instruksyon sa paggamit sa -fuse-ld=wild sa GCC 16.1, ug ang pag-instalar pinaagi sa Brew ang nadugang. Ang repository gibalhin usab ngadto sa usa ka lahi nga organisasyon sa GitHub, ang wild-linker.

Sa pagkakaron ihalas nga opisyal nga naka-focus sa Linux ug ELF. Ang README states sa proyekto nagsuporta x86-64, ARM64, RISC-V riscv64gc ug inisyal nga suporta LoongArch64 sa Linux; makahimo og static binaries, static-PIE, dynamically linked executables, ug .so files, mogana uban sa debug information, GNU jobserver, ug pipila ka linker scripts. Incremental linking, mas komplikado nga linker scripts, Mach-O, ug Windows karon giklasipikar nga wala pa matuman o wala pa nahuman nga mga oportunidad.

Sa praktikal nga pagkasulti, ang Wild 0.9 nagpalapad sa pagkaangay sa kasamtangang build ecosystem, nagsugod sa pagpalapad lapas sa ELF, ug nagdugang og suporta alang sa mga senaryo nga naghimo sa linker nga lisod gamiton sa dagkong C/C++ ug sinagol nga mga proyekto. Alang sa mga Rust developer, ang Wild nagpabilin nga makapaikag isip usa ka potensyal nga base alang sa umaabot nga incremental linking, ug alang sa mga system developer, isip laing paspas nga kakompetensya sa GNU ld, LLD, ug Mold.

Source: linux.org.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster