Glibc 2.36 stiže s novim značajkama za Linux, poboljšanjima i više

Nakon šest mjeseci razvoja najavljeno je izdanje nove verzije glibc 2.36 koja je u potpunosti usklađena sa zahtjevima standarda ISO C11 i POSIX.1-2017 i u kojoj nova verzija uključuje ispravke 59 programera.

Za one kojima Glibc nije poznat, trebali bi znati o čemu se radi biblioteka GNU C, općenito poznat kao glibc standardna je GNU C knjižnica za vrijeme izvođenja. Na sustavima gdje se koristi, ova C knjižnica to pruža i definira sistemske pozive i druge osnovne funkcije, koriste ga gotovo svi programi. 

Glavne nove značajke Glibca 2.36

U ovoj novoj verziji koja je predstavljena, to je istaknuto dodana podrška za novi format adrese relativnog preseljenja DT_RELR, koji vam omogućuje smanjenje veličine relativnih premještanja u zajedničkim objektima i povezanim izvršnim datotekama u PIE (Position Independent Executables) načinu rada. Upotreba polja DT_RELR u ELF datotekama zahtijeva podršku za opciju "-z pack-relative-relocs" u povezivaču, uvedenu u binutils 2.38.

Još jedna promjena koja se ističe u novoj verziji je ta za Linux funkcije pidfd_open, pidfd_getfd i pidfd_send_signal su implementirani kako bi omogućili pristup pidfd funkcionalnosti koji pomaže u rješavanju situacija ponovne upotrebe PID-a za točniju identifikaciju procesa koji pristupaju nadziranim datotekama (pidfd je povezan s određenim procesom i ne mijenja se, dok se PID može pridružiti drugom procesu nakon što proces završi). trenutni proces povezan s ovim PID).

Osim toga, također u Linuxu dolazi process_madvise()Da omogućuje procesu izvršavanje madvise() sistemskog poziva u ime drugog procesa, identificiranje ciljnog procesa pomoću pidfd-a. Putem madvise() možete obavijestiti kernel o karakteristikama rada s memorijom kako biste optimizirali upravljanje memorijom procesa, na primjer, na temelju proslijeđenih informacija, kernel može početi oslobađati dodatnu slobodnu memoriju.

Također je navedeno da je funkcija dodana process_mrelease(), koji vam omogućuje da ubrzate oslobađanje memorije za proces koji završava svoje izvršenje. Pod normalnim okolnostima, oslobađanje resursa i prekid procesa nisu trenutni i mogu se odgoditi iz raznih razloga, ometajući sustave ranog upozorenja korisničkog prostora kao što je oomd (omogućuje systemd). Pozivanjem process_mrelease, ovi sustavi mogu predvidljivije pokrenuti dohvaćanje memorije za procese koji su prisilno prekinuti.

S druge strane, napominje se da je dodano podrška za opciju "ne-aaaa". integriranoj provedbi DNS rezolucija, koja vam omogućuje da onemogućite slanje DNS zahtjeva za AAAA zapise (određivanje IPv6 adrese prema nazivu glavnog računala), čak i kada se izvode NSS funkcije poput getaddrinfo(), kako bi se pojednostavilo rješavanje problema. Ova opcija ne utječe na rukovanje vezanjem IPv6 adresa definiranim u /etc/hosts i pozivima getaddrinfo() s oznakom AI_PASSIVE.

Za Linux, dodane funkcije fsopen, fsmount, move_mount, fsconfig, fspick, open_tree i mount_setattr za omogućiti pristup novom API-ju kernela za kontrolu kako se sustavi datoteka montiraju na temelju prostora imena montiranja. Predložene funkcije omogućuju odvojenu obradu različitih koraka montiranja (obrada superbloka, dobivanje informacija o datotečnom sustavu, montiranje, pripajanje na točku montiranja), koji su se prethodno izvodili korištenjem zajedničke funkcije mount().

Dodani su funkcije arc4random, arc4random_buf i arc4random_uniform za pružanje veza na pozivu sustava getrandom i sučelje / Dev / urandom, vraćajući pseudo-nasumične brojeve visoke kvalitete.

Kada radi na Linuxu, omogućena je podrška za arhitekturu. iz skupa uputa Dugi luk koristi se u procesorima Loongson 3 5000 i implementiran je novi RISC ISA sličan MIPS-u i RISC-V. U trenutnom obliku dostupna je samo kompatibilnost sa 64-bitnom varijantom iz LoongArcha (LA64). Za rad je potreban najmanje binutils 2.38, GCC 12 i Linux kernel 5.19.

Od ostalih istaknutih promjena:

  • Mehanizam prethodnog povezivanja, kao i povezane varijable okoline LD_TRACE_PRELINKING i LD_USE_LOAD_BIAS i značajke povezivača, zastarjeli su i bit će uklonjeni u budućem izdanju.
  • Uklonjen kod za provjeru verzije Linux kernela i rukovanje varijablom okruženja LD_ASSUME_KERNEL. Minimalna verzija kernela podržana prilikom kompajliranja Glibca određena je ELF poljem NT_GNU_ABI_TAG.
  • Varijabla okoline LD_LIBRARY_VERSION je zastarjela na platformi Linux.

Konačno, ako vas zanima više o tome, možete se posavjetovati s pojedinostima U sljedećem linku.


Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.