Haɗin daji 0.9

An yi sakin Haɗin daji 0.9.0 — wani sabon mahaɗi mai aiki mai kyau wanda aka rubuta a cikin Rust. An jera fitowar a GitHub. 23 Mayu 2026An sanya aikin a matsayin mahaɗi don hanzarta ci gaba mai maimaitawa: a ƙarshe marubutan suna son cimma haɗin gwiwa mai sauri, kodayake ba a aiwatar da shi ba tukuna a cikin sigar da ake amfani da ita a yanzu. An rarraba lambar a ƙarƙashin lasisi biyu. Apache 2.0 / MIT.

Babban canji a Wild 0.9 shine tallafi API ɗin Linker Plugin, wani haɗin yanar gizo da aka gabatar a cikin mahaɗin Gold kuma GNU ld da Mold ke tallafawa. Ga Wild, wannan yana buɗe hanyar zuwa haɗin-plugin LTO — inganta lokacin haɗin yanar gizo ta hanyar plugin ɗin linker. Masu haɓaka sun bayyana musamman cewa wannan yana da amfani musamman ga ayyukan C, C++, da ayyukan gauraye-lambobi, yayin da ayyukan Rust masu tsarki galibi suna yin LTO a ciki. Tallafi ga wannan fasalin har yanzu yana da matsaloli da aka sani, kuma haɗawa ta hanyar plugin ɗin na iya zama jinkirin.

Wani muhimmin ɓangare na aikin a cikin 0.9 yana da alaƙa da shirye-shiryen canja wurin Wild bayan haka Linux/ELF. An canza dabaru na musamman na ELF ba tare da la'akari da abubuwan da aka tsara ba, kuma an fara aiki kan tallafi. Mach-O и Yanar GizoWaɗannan damar ba su riga sun shirya don amfani a aikace ba, amma abubuwan farko sun riga sun bayyana: nazarin Mach-O, sarrafa sashe da sashe, teburin alama, sa hannun lambar, fat binary, da kuma tallafin farko ga sassan wasm, alamomi, da ƙaura.

Canje-canje masu mahimmanci a cikin Wild Linker 0.9:

  • Tallafi ga plugins ɗin linker. An ƙara tallafi ga APIs na plugin ɗin linker, wanda ya zama dole don haɗin-plugin LTO da dacewa da wasu rubutun gina GCC/GNU ld/Mold. An kuma gyara wasu matsaloli da suka shafi kiran dawo da plugin, gami da cikakken tarihin ajiya, ThinLTO, iyakokin buɗe fayil, da cire lambar da ba ta da kyau yayin LTO.

  • Babban faɗaɗa tallafin rubutun linker. Umarnin PROVIDE da PROVIDE_HIDDEN, nazarin ASSERT da aiwatarwa, goyon bayan MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K da M kari a cikin lambobi, masu aiki da ma'ana, bitwise, da unary, kuma ana aiwatar da daidaitawa ta hanyar sunayen fayil ɗin shigarwa. Wannan yana kusantar da Wild kusa da dacewa da rubutun haɗin yanar gizo mai rikitarwa waɗanda galibi ake samu a cikin software na tsarin da ayyukan ƙananan matakai.

  • Ingantawa ga RISC-V, AArch64, x86-64 da LoongArch64. An ƙara shakatawar kiran RISC-V, shakatawar HI20, R_RISCV_ALIGN, duba tsawaitawar ISA masu karo da juna, ƙarin ƙaurar AArch64, ƙarar tsawaitawa ta AArch64, sarrafa yawan ƙaurar x86-64 tare da shakatawa, da kuma fayyace iyaka da daidaitawa don LoongArch64.

  • Sabbin zaɓuɓɓukan jituwa. An ƙara tallafi don --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags, da kuma nau'in -o/path mara sarari.

  • Samar da abubuwa masu motsi a tsaye. An ƙara tallafi don ƙirƙirar abubuwan da za a iya canja wurinsu a tsaye—fayilolin abu na tsakiya waɗanda har yanzu za su iya shiga cikin ƙarin haɗin kai.

  • Inganta aiki ba tare da mai da hankali kan sakin "sauri" ba. Marubutan sun lura sarai cewa 0.9 bai haɗa da wani babban ci gaba a aikin ba, amma babu raguwar aikin. Ingantaccen tsari na gida ya haɗa da hanya mai sauri ga masu daidaitawa waɗanda ba na duniya ba a cikin rubutun sigar, raguwar adadin ayyukan atomic, lissafin sashe da adiresoshin alamomi a lokaci guda yayin duban shakatawa, da rage sake sarrafa sassan da aka riga aka warware.

  • Gyaran daidaito da yawa. An gyara sarrafa alamomin da ba a fayyace su ba, .ctors/.dtors, RELRO, rubutun sigar, SFrame, IFUNC, --version/-v, kurakuran alamomin da ba a fayyace su ba, gargaɗi, matsugunin gyara kurakurai, .eh_frame, SHT_SYMTAB_SHNDX, haɗin da ba ya canzawa na abu mai ƙarfi, da kuma wasu yanayi tare da rubutun linker.

  • Takardu da kuma gudanar da ayyuka. An ƙara ƙa'idar ɗa'a, manufofin amfani da LLM, takardun shugabanci, matrix na tallafawa rubutun linker, umarnin amfani da -fuse-ld=wild tare da GCC 16.1, da shigarwa ta hanyar Brew. An kuma mayar da ma'ajiyar zuwa wata ƙungiya ta daban ta GitHub, wato wild-linker.

A wannan lokacin Wild a hukumance an fi mai da hankali kan Linux da kuma ELF. Jihohin README na aikin suna tallafawa x86-64, ARM64, RISC-V riscv64gc da tallafin farko LoongArch64 a kan Linux; zai iya gina fayilolin binary masu tsauri, static-PIE, masu haɗin kai mai ƙarfi, da fayilolin .so, yana aiki tare da bayanan gyara kurakurai, GNU jobserver, da wasu rubutun linker. Haɗin da ke ƙaruwa, rubutun linker masu rikitarwa, Mach-O, da Windows a halin yanzu ana rarraba su a matsayin damar da ba a cimma ba ko kuma damar da ba a kammala ba.

A aikace, Wild 0.9 ya faɗaɗa dacewa da yanayin ginawa na yanzu, ya fara faɗaɗawa fiye da ELF, kuma ya ƙara tallafi ga yanayin da ke sa mahaɗin ya yi wahalar amfani da shi a manyan ayyukan C/C++ da gauraye. Ga masu haɓaka Rust, Wild ya kasance mai ban sha'awa a matsayin tushe mai yuwuwa don haɗin kai na gaba, da kuma ga masu haɓaka tsarin, a matsayin wani mai fafatawa da sauri ga GNU ld, LLD, da Mold.

source: linux.org.ru

Sayi amintaccen masauki don shafuka tare da kariyar DDoS, sabar VPS VDS 🔥 Sayi ingantaccen masaukin yanar gizo tare da kariyar DDoS, sabar VPS VDS | ProHoster