Glibc 2.36 ir pieejams ar jaunām Linux funkcijām, uzlabojumiem un daudz ko citu

Pēc sešu mēnešu izstrādes tika paziņots par jaunās glibc 2.36 versijas izlaišanu, kas pilnībā atbilst ISO C11 un POSIX.1-2017 standartu prasībām un kurā jaunajā versijā ir iekļauti 59 izstrādātāju labojumi.

Tiem, kas nepazīst Glibc, viņiem vajadzētu zināt, kas tas ir GNU C bibliotēka, parasti pazīstams kā glibc ir standarta GNU C izpildlaika bibliotēka. Sistēmās, kur tas tiek izmantots, šī C bibliotēka nodrošina un definē sistēmas zvanus un citas pamatfunkcijas, to izmanto gandrīz visas programmas. 

Glibc 2.36 galvenās jaunās funkcijas

Šajā jaunajā versijā, kas tiek prezentēta, ir uzsvērts, ka pievienots atbalsts jaunam relatīvās pārvietošanas adreses formātam DT_RELR, kas ļauj samazināt relatīvo pārvietošanas lielumu koplietojamos objektos un saistītajos izpildāmajos failos PIE (pozīcijas neatkarīgo izpildāmo failu) režīmā. Lai izmantotu lauku DT_RELR ELF failos, ir nepieciešams atbalstīt opciju "-z pack-relative-relocs" linkerā, kas ieviesta binutils 2.38.

Vēl viena izmaiņa, kas izceļas jaunajā versijā, ir tā operētājsistēmai Linux funkcijas pidfd_open, pidfd_getfd un pidfd_send_signal tika ieviesti, lai nodrošinātu piekļuvi pidfd funkcionalitātei kas palīdz risināt PID atkārtotas izmantošanas situācijas, lai precīzāk identificētu procesus, kas piekļūst uzraudzītajiem failiem (pidfd ir saistīts ar konkrētu procesu un nemainās, savukārt PID var pievienot citam procesam pēc procesa beigām). Pašreizējais process, kas saistīts ar šo PID).

Bez tam, arī Linux ir process_madvise(), tas ļauj procesam izpildīt madvise() sistēmas izsaukumu cita procesa vārdā, identificējot mērķa procesu, izmantojot pidfd. Izmantojot madvise(), jūs varat informēt kodolu par darba ar atmiņu īpašībām, lai optimizētu procesa atmiņas pārvaldību, piemēram, pamatojoties uz nodoto informāciju, kodols var sākt atbrīvot papildu brīvo atmiņu.

Tiek arī atzīmēts, ka funkcija tika pievienota process_mrelease(), kas ļauj paātrināt atmiņas atbrīvošanu procesam, kas pabeidz tā izpildi. Normālos apstākļos resursa atbrīvošana un procesa pārtraukšana nenotiek acumirklī un var tikt aizkavēta dažādu iemeslu dēļ, traucējot lietotāja telpas agrīnās brīdināšanas sistēmām, piemēram, oomd (nodrošina systemd). Izsaucot process_mrelease, šīs sistēmas var paredzamāk sākt atmiņas izguves procesiem, kas tika piespiedu kārtā pārtraukti.

No otras puses, tiek atzīmēts, ka tas ir pievienots atbalsts opcijai "nē-aaaa". integrētai īstenošanai DNS izšķirtspēja, kas ļauj atspējot DNS pieprasījumu sūtīšanu AAAA ierakstiem (IPv6 adreses noteikšana pēc resursdatora nosaukuma), pat ja darbojas NSS funkcijas, piemēram, getaddrinfo(), lai vienkāršotu problēmu novēršanu. Šī opcija neietekmē IPv6 adrešu saišu apstrādi, kas definēta /etc/hosts, un izsaukumus getaddrinfo() ar karogu AI_PASSIVE.

Operētājsistēmai Linux ir pievienotas funkcijas fsopen, fsmount, move_mount, fsconfig, fspick, open_tree un mount_setattr par nodrošināt piekļuvi jaunam kodola API, lai kontrolētu failu sistēmu montāžu pamatojoties uz mount nosaukumvietām. Piedāvātās funkcijas ļauj atsevišķi apstrādāt dažādus montāžas posmus (superbloka apstrāde, informācijas iegūšana par failu sistēmu, montāža, pievienošana piestiprināšanas punktam), kas iepriekš tika veiktas, izmantojot kopējo mount() funkciju.

Tika pievienoti funkcijas arc4random, arc4random_buf un arc4random_uniform lai nodrošinātu saistījumus sistēmas izsaukumā nejauši un saskarne /dev/urrandom, atgriežot augstas kvalitātes pseidogadījuma skaitļus.

Darbojoties operētājsistēmā Linux, tiek nodrošināts arhitektūras atbalsts. no instrukciju kopas LoongArch izmanto Loongson 3 5000 procesoros, un ir ieviests jauns RISC ISA, kas līdzīgs MIPS un RISC-V. Pašreizējā formā ir pieejama tikai saderība ar 64 bitu variantu no LoongArch (LA64). Lai palaistu, ir nepieciešams vismaz binutils 2.38, GCC 12 un Linux kodols 5.19.

Starp pārējām izmaiņām, kas izceļas:

  • Iepriekšējās saites mehānisms, kā arī saistītie LD_TRACE_PRELINKING un LD_USE_LOAD_BIAS vides mainīgie un linkera līdzekļi ir novecojuši un tiks noņemti nākamajā laidienā.
  • Noņemts kods, lai pārbaudītu Linux kodola versiju un apstrādātu vides mainīgo LD_ASSUME_KERNEL. Minimālo kodola versiju, kas tiek atbalstīta, kompilējot Glibc, nosaka ELF lauks NT_GNU_ABI_TAG.
  • Vides mainīgais LD_LIBRARY_VERSION ir novecojis Linux platformā.

Visbeidzot, ja jūs interesē uzzināt vairāk par to, varat iepazīties ar informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.