I-Wild Linker 0.9

Ukukhululwa kwenzeka I-Wild Linker 0.9.0 — isixhumanisi esisha esisebenza kahle kakhulu esibhalwe ku-Rust. Ukukhishwa kubhalwe ku-GitHub. I-23 Kungenzeka iminyaka engu-2026Le phrojekthi ibekwe njengesixhumi sokusheshisa intuthuko ephindaphindayo: ababhali ekugcineni bafuna ukufeza ukuxhumanisa okuqhubekayo, yize kungakaqaliswa enguqulweni yamanje. Ikhodi isatshalaliswa ngaphansi kwelayisensi ephindwe kabili. I-Apache 2.0 / MIT.

Ushintsho olukhulu ku-Wild 0.9 ukwesekwa I-Linker Plugin API, isikhombimsebenzisi esethulwe ku-Gold linker futhi sisekelwa yi-GNU ld kanye ne-Mold. Ku-Wild, lokhu kuvula indlela yokuthi i-LTO ye-linker-plugin — ukulungiswa kwesikhathi sesixhumanisi nge-plugin yesixhumanisi. Abathuthukisi bathi lokhu kuwusizo kakhulu kumaphrojekthi e-C, C++, kanye ne-mixed-code, kuyilapho amaphrojekthi e-Rust ahlanzekile ngokuvamile enza i-LTO ngaphakathi. Ukusekelwa kwalesi sici kusenezinkinga ezaziwayo, futhi ukuxhumanisa nge-plugin kungaba kancane.

Ingxenye ebalulekile yomsebenzi ku-0.9 yayihlobene nokulungiselela ukudluliselwa kwe-Wild beyond Linux/ELF. I-logic ethize ye-ELF isusiwe ngaphandle kwezinto ezicashile, futhi umsebenzi wokusekela usuqalile. I-Mach-O и I-WebAssemblyLawa makhono awakakulungeli ukusetshenziswa ngokoqobo, kodwa izakhi zokuqala sezivele zivele: Ukuhluzwa kwe-Mach-O, ukucutshungulwa kwesigaba kanye nesigaba, ithebula lesimboli, isiginesha sekhodi, i-fat binary, kanye nokusekelwa kokuqala kwezingxenye ze-wasm, izimpawu, kanye nokufuduka.

Izinguquko ezibalulekile ku-Wild Linker 0.9:

  • Ukusekelwa kwama-plugin e-linker. Kungezwe ukwesekwa kwama-API e-linker plugin, okudingekayo kwi-LTO ye-linker-plugin kanye nokuhambisana namanye amaskripthi okwakha e-GCC/GNU ld/Mold. Kulungiswe nezinye izinkinga ezihlobene nokubizwa kabusha kwe-plugin, okuhlanganisa i-whole-archive, i-ThinLTO, umkhawulo wefayela elivulekile, kanye nokususwa kwekhodi efile ngesikhathi se-LTO.

  • Ukwandiswa okukhulu kokusekelwa kwezikripthi zesixhumanisi. Iziqondiso ze-PROVIDE kanye ne-PROVIDE_HIDDEN, ukuhlaziya kanye nokwenza i-ASSERT, ukwesekwa kwe-MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K kanye ne-M kuma-number literals, ama-operators anengqondo, ama-bitwise, kanye nama-unary, kanye nokufanisa ngamagama amafayela okufaka kuyasetshenziswa. Lokhu kusondeza i-Wild ekuvumelaneni nezikripthi zezixhumanisi eziyinkimbinkimbi ezivame ukutholakala kusofthiwe yesistimu namaphrojekthi aphansi.

  • Ukuthuthukiswa kwe-RISC-V, AArch64, x86-64 kanye ne-LoongArch64. Kwengezwe ukuphumula kwe-call ye-RISC-V, ukuphumula kwe-HI20, i-R_RISCV_ALIGN, ukuhlola izandiso ze-ISA ezingqubuzanayo, ukuthutha okwengeziwe kwe-AArch64, ama-thunk esandiso sebanga le-AArch64, ukuphathwa kwenani lokuthutha kwe-x86-64 ngokuphumula, kanye nokucaciswa kobubanzi nokuqondanisa kwe-LoongArch64.

  • Izinketho ezintsha zokuhambisana. Kungezwe ukwesekwa kwe--dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags, kanye ne-form-less form -o/path.

  • Ukukhiqizwa kwezinto ezihambayo ngendlela eguquguqukayo. Ukwesekwa okwengeziwe kokudala izinto ezingaguquki—amafayela ezinto eziphakathi asengabamba iqhaza ekuxhumaniseni okwengeziwe.

  • Ukuthuthukiswa kokusebenza ngaphandle kokugxila ekukhishweni "okusheshayo". Abalobi baphawula ngokusobala ukuthi u-0.9 awuzange ufake noma yikuphi ukuthuthukiswa okukhulu kokusebenza, kodwa futhi akukho ukuwohloka. Ukulungiswa kwendawo kufaka phakathi indlela esheshayo yokufanisa okungewona owomhlaba wonke kumaskripthi enguqulo, ukwehla kwenani lemisebenzi ye-athomu, ukubalwa okuhambisanayo kwamakheli esigaba kanye nama-symbol ngesikhathi sokuskena kokuphumula, kanye nokunciphisa ukucubungula kabusha kwezingxenye esezixazululiwe kakade.

  • Ukulungiswa okuningi kokuhambisana. Kulungiswe ukuphathwa kwezimpawu ezingacacile ezibuthakathaka, ama-.ctors/.dtors, ama-RELRO, izikripthi zenguqulo, i-SFrame, i-IFUNC, --version/-v, amaphutha ezimpawu angachazwanga, izixwayiso, ukuhanjiswa kwamaphutha, i-.eh_frame, i-SHT_SYMTAB_SHNDX, ukuxhumanisa okungaguquki kwento eguquguqukayo, kanye nezimo eziningana ezinezikripthi zezixhumanisi.

  • Imibhalo kanye nokuphathwa kwephrojekthi. Ikhodi yokuziphatha, inqubomgomo yokusetshenziswa kwe-LLM, imibhalo yokuphatha, i-matrix yokusekela izikripthi zesixhumanisi, imiyalelo yokusebenzisa i--fuse-ld=wild ne-GCC 16.1, kanye nokufakwa nge-Brew kufakiwe. Indawo yokugcina izinto nayo ithuthelwe enhlanganweni ehlukile ye-GitHub, i-wild-linker.

Okwamanje Wild kugxilwe kakhulu ngokusemthethweni ku Linux kanye ne-ELF. I-README yephrojekthi isekela amazwe X86-64, I-ARM64, I-RISC-V riscv64gc kanye nokusekelwa kokuqala LoongArch64 on Linux; ingakha ama-static binary, ama-static-PIE, ama-executable axhunywe ngokuguquguqukayo, kanye namafayela e-.so, isebenza ngolwazi lokulungisa iphutha, i-GNU jobserver, kanye nezinye izikripthi zesixhumanisi. Ukuxhumanisa okwandayo, izikripthi zesixhumanisi eziyinkimbinkimbi kakhulu, i-Mach-O, kanye Windows okwamanje zihlukaniswa njengamathuba angakafezeki noma angakaqedwa.

Ngokwezinto ezingokoqobo, i-Wild 0.9 yandisa ukuhambisana nendawo yokwakha ekhona, iqala ukwanda ngale kwe-ELF, futhi yengeza ukwesekwa kwezimo ezenza kube nzima ukusebenzisa i-linker kumaphrojekthi amakhulu e-C/C++ kanye namaphrojekthi axubile. Kubathuthukisi be-Rust, i-Wild isalokhu ithakazelisa njengesisekelo esingaba khona sokuxhumanisa okuqhubekayo kwesikhathi esizayo, kanye nabathuthukisi besistimu, njengomunye umncintiswano osheshayo we-GNU ld, LLD, kanye ne-Mold.

Source: linux.org.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster