Savvaļas 0.10


Izlaidums notika 4. augustā Savvaļas 0.10 — bezmaksas saite, kas rakstīta Rust valodā un galvenokārt paredzēta ātrai programmu veidošanai LinuxSaistītājs veic būvēšanas pēdējo posmu: objekta failu un bibliotēku apvienošanu galīgajā izpildāmajā vai koplietojamajā bibliotēkā. Wild var izmantot kā GNU ld, LLD un Mold aizstājēju, lai gan izstrādātāju deklarētais galvenais mērķis ir pakāpeniska saistīšana. vēl nav ieviests.

 

Viens no galvenajiem jauninājumiem bija parametru atbalsts --gdb-index un --no-gdb-indexKad šī funkcija ir iespējota, Wild izveido .gdb_index sadaļu izvades failā ar atkļūdošanas informācijas indeksu. Tas ļauj GDB ātrāk atrast nepieciešamos simbolus lielās programmās, neģenerējot indeksu atsevišķi pēc būvēšanas. Ieviešana atbalsta GDB indeksa formāta 9. versiju; indeksa skenēšanas, apvienošanas un rakstīšanas darbības ir paralēlizētas.

 

Komponēšanas skriptu veidošana ir ievērojami paplašināta. Pievienots atbalsts:

  • /IZMETIET/ sadaļas, lai izslēgtu nevajadzīgās ievades sadaļas;
  • PHDRS pielāgoto programmu nosaukumi;
  • funkcijas SIZEOF_HEADERS, DEFINED un SEGMENT_START;
  • AT atslēgvārds un LOADADDR funkcija;
  • nosacījuma izteiksmes ar trīskāršu operatoru;
  • SORT, SORT_BY_NAME un SORT_BY_ALIGNMENT komandas;
  • simbols __bss_start;
  • veidnes izejas sadaļu aizpildīšanai;
  • OUTPUT_FORMAT un OUTPUT_ARCH komandas;
  • vairāki pašreizējās adreses relatīvie skaitītāji.

 

Pilnīga saderība ar GNU ld vēl nav panākta. Piemēram, dažas MEMORY komandas, OVERLAY sadaļu un dažu sadaļu izvietošanas metožu funkcijas joprojām nav izstrādātas. Izstrādātāji pie tā strādā atsevišķi. kodola saistīšanai nepieciešamo iespēju tabula Linux.

 

Ir uzlabota veiktspēja, saglabājot būvēšanas rezultātus Btrfs un VFAT failos. Wild tagad automātiski izmanto --no-mmap-output-file režīmu un neveic izvades faila mmap ierakstīšanu atmiņā. Izstrādātāja veiktā Zed saistīšanas testā Btrfs failos laiks tika samazināts no aptuveni 2,6–2,8 līdz 1,5–1,8 sekundēm. Tomēr izmaiņu autors brīdina, ka pat pēc optimizācijas Btrfs šajā scenārijā joprojām ir ievērojami lēnāks nekā tmpfs; savukārt Ext4 un XFS gadījumā mmap izmantošana izrādījās izdevīgāka.

Wild turpina tikt portēts uz citiem formātiem un platformām. Eksperimentāla WebAssembly versija jau var sasaistīt virkni programmu, savukārt Mach-O ports var sasaistīt pamata izpildāmos failus. Ir uzsākts darbs pie 32 bitu mērķa platformām, kam vajadzētu vēl vairāk vienkāršot Wild izmantošanu iegulto sistēmu izstrādē. Ir pievienota arī PowerPC64 ELFv2 objektu failu sākotnējā apstrāde, un turpina attīstīties Mach-O atbalsts, tostarp universāli objektu faili un tieša sasaiste ar dinamiskajām bibliotēkām. Šīs porta versijas vēl nevajadzētu uzskatīt par gatavām ikdienas lietošanai.

libwild saistītāja tagad var pieņemt ievades failus un saglabāt izvadi tieši atmiņā. Tas ļauj citām programmām iegult Wild, ne vienmēr veidojot starpfailus diskā. Turklāt bibliotēka vairs nepārraksta globālo Rayon pavedienu kopu, un atbalstu Zstandard saspiešanai var atspējot veidošanas laikā.

Šajā laidienā ir iekļauti daudzi labojumi x86-64, AArch64, RISC-V un LoongArch64. Šie labojumi ietver kļūdas, kas saistītas ar TLS, PLT, LTO, saspiestas atkļūdošanas informācijas, lielu izlīdzinājumu un pārvietošanas apstrādi PIE un koplietotajos objektos. Ir izlabotas arī iespējamās avārijas saistītāja skripta parsēšanas laikā un kļūdas, ģenerējot .tbss, .strtab un .eh_frame sadaļas.

 

Savvaļas balsti Linux x86-64, AArch64 un RISC-V arhitektūrās LoongArch64 un PowerPC64LE atbalsts pašlaik ir norādīts kā sākotnējais. Linkeru var instalēt no iepriekš izveidotiem arhīviem, izmantojot cargo-binstall, Homebrew, Nix vai ar komandu cargo install --locked wild-linker. Pirmkods tiek izplatīts pēc lietotāja ieskatiem. Apache 2.0 vai MIT licences.

 

Avots: linux.org.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster