Wild 0.10


4. augustil leidis aset vĂ€ljaanne Wild 0.10 — vabast komposiitor, mis on kirjutatud Rustis ja mĂ”eldud eelkĂ”ige programmide kiireks kokkupanekuks Linuxis. Komposiitor sooritab kokkupaneku viimase etapi: ĂŒhendab objekti failid ja raamatukogud valmis tĂ€itmiseks mĂ”eldud faili vĂ”i jagatavaks raamatukoguks. Wildi saab kasutada GNU ld, LLD ja Moldi asendajana, kuigi arendajate poolt vĂ€lja kuulutatud lĂ”ppeesmĂ€rk — inkrementaalne kompositsioon — on seni ellu viimata.

 

Üheks peamiseks uuenduseks on saanud parameetrite toetamine —gdb-index ja —no-gdb-index. Selle vĂ”imaluse aktiveerimisel loob Wild vĂ€ljundfailis .gdb_index sektsiooni, kus on korraldus teabe indeksi kohta. TĂ€nu sellele suudab GDB kiiremini leida vajalikke sĂŒmboleid suurtes programmides, mitte koostama indeksit eraldi pĂ€rast kokkupanekut. Teostus toetab GDB indeksi ĂŒheksandat versiooni; skaneerimise, ĂŒhendamise ja indeksi kirjutamise toimingud on paralleeliseeritud.

 

Oluliselt on laiendatud komposiitori skriptide toetust. Lisatud on toimetamine:

  • sektsioonide /DISCARD/ jaoks, et vĂ€listada mittevajalikud sissesaamis sektsioonid;
  • kasutaja mÀÀratud programmide PHDRS pĂ€iseid;
  • funktsioone SIZEOF_HEADERS, DEFINED ja SEGMENT_START;
  • vĂ”tmesĂ”na AT ja funktsioon LOADADDR;
  • tingimuslikke vĂ€ljendeid, kasutades kolmeosalisi operaatorid;
  • kĂ€sklusi SORT, SORT_BY_NAME ja SORT_BY_ALIGNMENT;
  • sĂŒmbolit __bss_start;
  • vĂ€ljundsektsioonide tĂ€itemalle;
  • kĂ€sklusi OUTPUT_FORMAT ja OUTPUT_ARCH;
  • mitmeid suhtelisi loendureid, et jĂ€lgida praegust aadressi.

 

TĂ€ielikku ĂŒhilduvust GNU ld-ga pole veel saavutatud. NĂ€iteks osa MEMORY kĂ€skluse vĂ”imalustest, sektsioonid OVERLAY ja mĂ”ned sektsioonide paigutamise viisid jÀÀvad lĂ”petamata. Arendajad peavad eraldi tabelit vĂ”imalustest, mis on vajalikud Linuxi tuuma kokkupanekuks.

 

Parandatud on jĂ”udlust kompositsiooni tulemuste paigutamisel Btrfs ja VFAT sĂŒsteemidesse. Wild kasutab nĂŒĂŒd automaatselt reĆŸiimi —no-mmap-output-file ja ei kuvata vĂ€ljundfaili mĂ€llu lĂ€bi mmap. Arendaja lĂ€bi viidud Zed kompositsiooni testimise ajal vĂ€henes aeg ligikaudu 2,6–2,8 sekundilt 1,5–1,8 sekundile. Sellega seoses hoiatab muudatuse autor, et isegi pĂ€rast Btrfsi optimeerimist jÀÀvad need stsenaariumid oluliselt aeglasemaks kui tmpfs; Ext4 ja XFS puhul osutus mmap aga vastupidiselt efektiivsemaks.

Wildi ĂŒleviimine teistesse formaatidesse ja platvormidesse jĂ€tkub. Eksperimentaalne versioon WebAssembly jaoks oskab juba komponente kokku panna, samas kui Mach-O port toetab lihtsate kĂ€ivitatavate failide loomist. Töö 32-bitiste sihtplatvormide kallal on alanud, mis peaks tulevikus lihtsustama Wildi rakendamist integreeritud sĂŒsteemide arenduses. Samuti on lisatud esmane töötlemine PowerPC64 ELFv2 objekti failide jaoks ja jĂ€tkatud Mach-O toe arendamist, sealhulgas universaalsed objektifailid ja otsekomponimine dĂŒnaamiliste teekidega. Need portid ei ole veel igapĂ€evaseks kasutamiseks valmis.

Raamatukogu variant kompaktsest libwildist suudab nĂŒĂŒd vastu vĂ”tta sisendeid ja salvestada tulemused otse mĂ€llu. See vĂ”imaldab teistel programmidel Wildi integreerida ilma, et oleks vaja luua vahefailsid kettale. Lisaks enam ei ĂŒlekirjuta teek globaalset tahkete niitide basseini Rayon, ning Zstandard tihendamise toe saab kogumisel vĂ€lja lĂŒlitada.

VĂ€ljalaskesse on lisatud hulgaliselt parandusi x86-64, AArch64, RISC-V ja LoongArch64 jaoks. EbatĂ€psusi on kĂ”rvaldatud TLS, PLT, LTO, tihendatud silumisinfo, suurte joondamiste ja liikumiste töötlemises PIE- ja jagatud objektides. Parandatud on vĂ”imalikke crash'e linkimise skriptide analĂŒĂŒsimisel ja sektsioonide .tbss, .strtab ja .eh_frame genereerimise vigu.

 

Wild toetab Linuxit arhitektuuridel x86-64, AArch64 ja RISC-V; LoongArch64 ja PowerPC64LE tugi on praegu algusjĂ€rgus. Kompaktoreid saab installida valmis arhiividest, lĂ€bi cargo-binstall, Homebrew, Nix vĂ”i kĂ€suga cargo install —locked wild-linker. Allika kood on kasutaja valikul litsentseeritud litsentside Apache 2.0 vĂ”i MIT all.

 

Allikas: linux.org.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster