Glibc 2.36 prichádza s novými funkciami pre Linux, vylepšeniami a ďalšími

Po šiestich mesiacoch vývoja bolo oznámené vydanie novej verzie glibc 2.36, ktorá plne vyhovuje požiadavkám noriem ISO C11 a POSIX.1-2017 a v ktorej nová verzia obsahuje opravy od 59 vývojárov.

Tí, ktorí nepoznajú Glibc, by mali vedieť, čo to je knižnica GNU C, bežne známa ako glibc je štandardná runtime knižnica GNU C. V systémoch, kde sa používa, táto C knižnica, ktorá poskytuje a definuje systémové volania a ďalšie základné funkcie, používajú ho takmer všetky programy. 

Hlavné nové funkcie Glibc 2.36

V tejto novej verzii, ktorá je prezentovaná, je zdôraznené, že pridaná podpora pre nový formát adresy relatívneho premiestnenia DT_RELR, ktorý umožňuje zmenšiť veľkosť relatívnych premiestnení v zdieľaných objektoch a prepojených spustiteľných súboroch v režime PIE (Position Independent Executables). Použitie poľa DT_RELR v súboroch ELF vyžaduje podporu pre voľbu "-z pack-relative-relocs" v linkeri, ktorá bola zavedená v binutils 2.38.

Ďalšou zmenou, ktorá vyniká v novej verzii, je tá pre Linux funkcie pidfd_open, pidfd_getfd a pidfd_send_signal boli implementované na poskytovanie prístupu k funkcionalite pidfd ktorý pomáha zvládnuť situácie opätovného použitia PID na presnejšiu identifikáciu procesov pristupujúcich k monitorovaným súborom (pidfd je priradený ku konkrétnemu procesu a nemení sa, zatiaľ čo PID možno po skončení procesu pripojiť k inému procesu). aktuálny proces s tým spojený PID).

Okrem toho, aj v Linuxe prichádza process_madvise()Že umožňuje procesu vykonať systémové volanie madvise() v mene iného procesu, ktorý identifikuje cieľový proces pomocou pidfd. Prostredníctvom madvise() môžete informovať jadro o vlastnostiach práce s pamäťou pre optimalizáciu správy pamäte procesu, napríklad na základe odovzdaných informácií môže jadro začať uvoľňovať ďalšiu voľnú pamäť.

Je tiež potrebné poznamenať, že funkcia bola pridaná process_mrelease(), ktorá vám umožňuje urýchliť uvoľnenie pamäte pre proces, ktorý ukončí jeho vykonávanie. Za normálnych okolností nie je uvoľnenie prostriedkov a ukončenie procesu okamžité a môže byť oneskorené z rôznych dôvodov, čo narúša systémy včasného varovania v užívateľskom priestore, ako je oomd (poskytovaný systemd). Volaním process_mrelease môžu tieto systémy predvídateľnejšie spustiť získavanie pamäte pre procesy, ktoré boli násilne ukončené.

Na druhej strane je potrebné poznamenať, že bol pridaný podpora možnosti „no-aaaa“. k integrovanej implementácii Rozlíšenie DNS, ktoré umožňuje zakázať odosielanie požiadaviek DNS na záznamy AAAA (určenie adresy IPv6 podľa názvu hostiteľa), a to aj pri spustení funkcií NSS, ako je getaddrinfo(), aby sa zjednodušilo riešenie problémov. Táto voľba neovplyvňuje spracovanie väzieb adries IPv6 definovaných v /etc/hosts a volania getaddrinfo() s príznakom AI_PASSIVE.

Pre Linux pridané funkcie fsopen, fsmount, move_mount, fsconfig, fspick, open_tree a mount_setattr pre poskytnúť prístup k novému kernel API na ovládanie spôsobu pripojenia súborových systémov na základe mount menných priestorov. Navrhované funkcie umožňujú samostatné spracovanie rôznych krokov pripojenia (spracovanie superbloku, získanie informácií o súborovom systéme, pripojenie, pripojenie k bodu pripojenia), ktoré sa predtým vykonávali pomocou funkcie common mount().

Boli pridané funkcie arc4random, arc4random_buf a arc4random_uniform poskytnúť väzby na systémové volanie getrandom a rozhranie / Dev / urandom, ktorý vracia kvalitné pseudonáhodné čísla.

Pri spustení v systéme Linux je poskytovaná podpora architektúry. zo sady inštrukcií LoongArch používa sa v procesoroch Loongson 3 5000 a je implementovaný nový RISC ISA podobný MIPS a RISC-V. V súčasnej podobe je dostupná iba kompatibilita so 64-bitovým variantom z LoongArch (LA64). Na spustenie vyžaduje aspoň binutils 2.38, GCC 12 a linuxové jadro 5.19.

Z ďalších zmien, ktoré vynikajú:

  • Mechanizmus predbežného prepojenia, ako aj súvisiace premenné prostredia LD_TRACE_PRELINKING a LD_USE_LOAD_BIAS a funkcie linkera sú zastarané a budú odstránené v budúcom vydaní.
  • Odstránený kód na kontrolu verzie jadra Linuxu a spracovanie premennej prostredia LD_ASSUME_KERNEL. Minimálna verzia jadra podporovaná pri kompilácii Glibc je určená poľom ELF NT_GNU_ABI_TAG.
  • Premenná prostredia LD_LIBRARY_VERSION bola na platforme Linux zastaraná.

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete sa obrátiť na podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.