Glibc 2.36 tulee sisältäen uusia ominaisuuksia Linuxille, parannuksia ja paljon muuta

Kuuden kuukauden kehitystyön jälkeen julkistettiin uusi glibc 2.36 -versio, joka on täysin ISO C11- ja POSIX.1-2017 -standardien vaatimusten mukainen ja johon uusi versio sisältää korjauksia 59 kehittäjältä.

Niille, jotka eivät tunne Glibcia, heidän pitäisi tietää, mikä se on GNU C -kirjasto, yleisesti tunnettu nimellä glibc on GNU C: n vakioaikainen kirjasto. Järjestelmissä, joissa sitä käytetään, tämä C -kirjasto tarjoaa ja määrittelee järjestelmäkutsut ja muut perustoiminnot, sitä käyttävät lähes kaikki ohjelmat. 

Glibc 2.36: n tärkeimmät uudet ominaisuudet

Tässä esitellyssä uudessa versiossa korostetaan sitä lisätty tuki uudelle suhteellisen uudelleensijoitusosoitteen muodolle DT_RELR, jonka avulla voit pienentää suhteellisten siirtojen kokoa jaetuissa objekteissa ja linkitetyissä suoritettavissa PIE (Position Independent Executables) -tilassa. DT_RELR-kentän käyttö ELF-tiedostoissa vaatii tuen linkkerissä "-z pack-relative-relocs" -vaihtoehtoa, joka on otettu käyttöön binutils 2.38:ssa.

Toinen muutos, joka erottuu uudesta versiosta, on se Linuxille toiminnot pidfd_open, pidfd_getfd ja pidfd_send_signal otettiin käyttöön mahdollistamaan pääsy pidfd-toimintoihin joka auttaa käsittelemään PID-uudelleenkäyttötilanteita ja tunnistamaan tarkemmin prosessit, jotka käyttävät valvottuja tiedostoja (pidfd liittyy tiettyyn prosessiin eikä muutu, kun taas PID voidaan liittää toiseen prosessiin prosessin päätyttyä). Nykyinen tähän liittyvä prosessi PID).

Sen lisäksi myös Linuxissa tulee process_madvise()Että sallii prosessin suorittaa madvise()-järjestelmäkutsun toisen prosessin puolesta, joka tunnistaa kohdeprosessin pidfd:n avulla. Madvise():n avulla voit kertoa ytimelle muistin kanssa työskentelyn ominaisuuksista optimoidaksesi prosessin muistinhallinnan, esimerkiksi siirrettyjen tietojen perusteella ydin voi alkaa vapauttaa lisää vapaata muistia.

On myös huomattava, että toiminto lisättiin process_mrelease(), jonka avulla voit nopeuttaa muistin vapauttamista prosessille, joka lopettaa sen suorittamisen. Normaalioloissa resurssien vapauttaminen ja prosessin lopettaminen eivät tapahdu hetkessä, ja ne voivat viivästyä useista syistä, jotka häiritsevät käyttäjätilan ennakkovaroitusjärjestelmiä, kuten oomd (systemd:n ​​tarjoama). Kutsumalla process_mrelease, nämä järjestelmät voivat ennakoitavammin aloittaa muistin haun prosessille, joka lopetettiin väkisin.

Toisaalta huomautetaan, että se on lisätty tuki "no-aaaa" -vaihtoehdolle integroituun täytäntöönpanoon DNS-resoluutio, jonka avulla voit estää AAAA-tietueiden DNS-pyyntöjen lähettämisen (IPv6-osoitteen määrittäminen isäntänimen perusteella), jopa käytettäessä NSS-toimintoja, kuten getaddrinfo(), vianmäärityksen yksinkertaistamiseksi. Tämä asetus ei vaikuta tiedostossa /etc/hosts määritettyjen IPv6-osoitesidosten ja getaddrinfo()-kutsujen käsittelyyn AI_PASSIVE-lipulla.

Linuxille lisätty toiminnot fsopen, fsmount, move_mount, fsconfig, fspick, open_tree ja mount_setattr ja tarjoavat pääsyn uuteen ytimen API:iin tiedostojärjestelmien liittämisen hallitsemiseksi mountin nimiavaruuksien perusteella. Ehdotetut toiminnot mahdollistavat eri asennusvaiheiden erillisen käsittelyn (superlohkon käsittely, tiedon saaminen tiedostojärjestelmästä, asennus, liitoskohtaan liittäminen), jotka on aiemmin suoritettu yhteisellä mount()-funktiolla.

Lisättiin toiminnot arc4random, arc4random_buf ja arc4random_uniform tarjota sidoksia järjestelmäkutsulle satunnaisuus ja käyttöliittymä / Dev / urandom, palauttaa korkealaatuisia näennäissatunnaisia ​​lukuja.

Kun käytät Linuxia, arkkitehtuurille tarjotaan tukea. komentosarjasta LoongArch käytetään Loongson 3 5000 -prosessoreissa ja uusi RISC ISA, joka on samanlainen kuin MIPS ja RISC-V, on otettu käyttöön. Nykyisessä muodossaan vain yhteensopivuus on saatavilla 64-bittisellä variantilla LoongArchilta (LA64). Se vaatii vähintään binutils 2.38:n, GCC 12:n ja Linux-ytimen 5.19:n toimiakseen.

Muista erottuvista muutoksista:

  • Esilinkitysmekanismi sekä niihin liittyvät LD_TRACE_PRELINKING- ja LD_USE_LOAD_BIAS-ympäristömuuttujat ja linkkiominaisuudet ovat vanhentuneet ja poistetaan tulevassa julkaisussa.
  • Koodi poistettiin Linux-ytimen version tarkistamiseksi ja ympäristömuuttujan LD_ASSUME_KERNEL käsittelemiseksi. Glibc:tä käännettäessä tuettu vähimmäisytimen versio määräytyy ELF-kentän NT_GNU_ABI_TAG mukaan.
  • Ympäristömuuttuja LD_LIBRARY_VERSION on vanhentunut Linux-alustalla.

Lopuksi, jos haluat tietää enemmän siitä, voit tutustua yksityiskohtiin Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.