Lëshimi i bibliotekës së sistemit Glibc 2.36

Pas pas gjashtë muajsh zhvillim, është lëshuar versioni i librit sistemik GNU C Library (glibc) 2.36, e cila plotëson kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në këtë lëshim të ri janë përfshirë rregullime nga 59 zhvillues.

Nga përmirësimet e realizuara në Glibc 2.36, mund të veçojmë:

  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r formatin e ri tĂ« zhvendosjeve relative DT_RELR (zhvendosje relative), i cili lejon tĂ« reduktohet madhĂ«sia e zhvendosjeve relative nĂ« objekte tĂ« ndara dhe skedarĂ« ekzekutivĂ«, tĂ« kompozuar nĂ« modalitetin PIE (skedarĂ« ekzekutivĂ« tĂ« pavarur nga pozita). PĂ«r tĂ« pĂ«rdorur fushĂ«n DT_RELR nĂ« skedarĂ«t ELF, nevojitet mbĂ«shtetje pĂ«r opsionin "-z pack-relative-relocs" nĂ« kompozitor, i cili Ă«shtĂ« shfaqur nĂ« publikimin e pakos binutils 2.38.
  • PĂ«r platformĂ«n Linux janĂ« realizuar funksionet pidfd_open, pidfd_getfd dhe pidfd_send_signal, tĂ« cilat ofrojnĂ« akses nĂ« funksionalitetin pidfd, duke ndihmuar nĂ« pĂ«rpunimin e situatave me ri-pĂ«rdorimin e PID pĂ«r identifikimin mĂ« tĂ« saktĂ« tĂ« proceseve qĂ« i qasen skedarĂ«ve tĂ« ndjekur (pidfd Ă«shtĂ« i lidhur me njĂ« proces tĂ« caktuar dhe nuk ndryshon, ndĂ«rsa PID mund tĂ« lidhet me njĂ« proces tjetĂ«r pas pĂ«rfundimit tĂ« procesit aktual qĂ« Ă«shtĂ« i lidhur me kĂ«tĂ« PID).
  • PĂ«r platformĂ«n Linux, Ă«shtĂ« shtuar funksioni process_madvise(), i cili lejon njĂ« proces tĂ« kryejĂ« thirrjen sistemike madvise() nĂ« emĂ«r tĂ« njĂ« procesi tjetĂ«r, duke identifikuar procesin e synuar pĂ«rmes pidfd. PĂ«rmes madvise(), mund t'i informoni bĂ«rthamĂ«s pĂ«r karakteristikat e punĂ«s me memorien pĂ«r tĂ« optimizuar menaxhimin e memories sĂ« procesit; pĂ«r shembull, bazuar nĂ« informacionin e dĂ«rguar, bĂ«rthama mund tĂ« inicijojĂ« lĂ«shimin e memories sĂ« lirĂ« shtesĂ«. Thirrja madvise() nga njĂ« proces tjetĂ«r mund tĂ« nevojitet nĂ« situatat kur informacioni i nevojshĂ«m pĂ«r optimizimin nuk njihet nga procesi aktual, dhe do tĂ« koordinohej nga njĂ« proces menaxhues nĂ« background, i cili mund tĂ« inicirojĂ« vetĂ« tĂ«rheqjen e memories sĂ« pakonsumuara nga proceset.
  • PĂ«r platformĂ«n Linux Ă«shtĂ« shtuar funksioni process_mrelease(), i cili lejon tĂ« pĂ«rshpejtojĂ« lirimin e memories nga procesi qĂ« pĂ«rfundon. NĂ« kushte normale, lirimi i burimeve dhe pĂ«rfundimi i procesit nuk pĂ«rfundon menjĂ«herĂ« dhe pĂ«r shkak tĂ« arsyeve tĂ« ndryshme mund tĂ« vonohet, gjĂ« qĂ« pengon funksionimin e sistemeve tĂ« reagimit tĂ« hershĂ«m pĂ«r mungesĂ«n e memories nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, si oomd (i ofruar nĂ« systemd). Me thirrjen e process_mrelease, kĂ«to sisteme mund tĂ« nisin kthimin e memories nga proceset e detyruara tĂ« pĂ«rfundimit mĂ« parashikueshĂ«m.
  • NĂ« implementimin e integruar tĂ« DNS-resolver, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin "no-aaaa", i cili lejon qĂ« pĂ«r thjeshtimin e diagnostikimit tĂ« problemeve tĂ« çaktivizohet dĂ«rgimi i kĂ«rkesave DNS pĂ«r regjistrat AAAA (pĂ«rcaktimi i adresĂ«s IPv6 me emĂ«r hosti), pĂ«rfshirĂ« gjatĂ« ekzekutimit tĂ« funksioneve NSS, tĂ« ngjashme me getaddrinfo(). Ky opsion nuk ndikon nĂ« pĂ«rpunimin e lidhjeve tĂ« adresave IPv6, tĂ« pĂ«rcaktuara nĂ« /etc/hosts dhe thirrjet getaddrinfo() me flamurin AI_PASSIVE.
  • PĂ«r platformĂ«n Linux janĂ« shtuar funksionet fsopen, fsmount, move_mount, fsconfig, fspick, open_tree dhe mount_setattr, tĂ« cilat ofrojnĂ« akses nĂ« njĂ« API tĂ« ri tĂ« kernelit pĂ«r menaxhimin e montimeve tĂ« sistemeve tĂ« files me konsideratĂ« pĂ«r hapĂ«sirat e emrave tĂ« pikave tĂ« montimit (mount namespaces). Funksionet e propozuara lejojnĂ« trajtimin e veçantĂ« tĂ« fazave tĂ« ndryshme tĂ« montimit (trajtime e superblock-ut, marrja e informacionit rreth FS-sĂ«, montimi, lidhja me pikĂ«n e montimit), tĂ« cilat mĂ« parĂ« kryheshin pĂ«rmes njĂ« funksioni tĂ« pĂ«rbashkĂ«t mount(). Funksionet e veçanta ofrojnĂ« mundĂ«sinĂ« pĂ«r tĂ« realizuar skenarĂ« mĂ« tĂ« komplikuar tĂ« montimit dhe pĂ«r tĂ« kryer veprime tĂ« tilla si ristrukturimi i superblock-ut, aktivizimi i opsioneve, ndĂ«rrimi i pikĂ«s sĂ« montimit dhe transferimi nĂ« njĂ« hapĂ«sirĂ« tjetĂ«r emri. PĂ«r mĂ« tepĂ«r, trajtimi i veçantĂ« lejon pĂ«rcaktimin e saktĂ« tĂ« arsyeve tĂ« dhĂ«nies sĂ« kodove gabimi dhe caktimin e burimeve tĂ« shumta pĂ«r FS tĂ« shumĂ«fishta, si overlayfs.
  • NĂ« localedef Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r pĂ«rpunimin e skedarĂ«ve me pĂ«rkufizime lokalĂ«sh, tĂ« dĂ«rguara nĂ« kodimin UTF-8 nĂ« vend tĂ« ASCII.
  • Funksionet pĂ«r konvertimin e kodifikimeve me shumĂ« bajta mbrtoc8 dhe c8rtomb, pĂ«rkatĂ«se me specifikimet ISO C2X N2653 dhe C++20 P0482R6, janĂ« shtuar.
  • Jehohet mbĂ«shtetje pĂ«r llojin char8_t, i pĂ«rcaktuar nĂ« skicĂ«n e standardit ISO C2X N2653.
  • Funksionet arc4random, arc4random_buf dhe arc4random_uniform, qĂ« ofrojnĂ« lidhje mbi thirrjen sistemike getrandom dhe ndĂ«rfaqen /dev/urandom, qĂ« kthejnĂ« numra pseudarrandom me cilĂ«si tĂ« lartĂ«, janĂ« shtuar.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r arkitekturĂ«n e grupit tĂ« komandave LoongArch nĂ« platformĂ«n Linux, e pĂ«rdorur nĂ« procesorĂ«t Loongson 3 5000, qĂ« implementojnĂ« njĂ« ISA tĂ« ri RISC, tĂ« ngjashĂ«m me MIPS dhe RISC-V. NĂ« formĂ«n aktuale, mbĂ«shtetet vetĂ«m varianti 64-bit i LoongArch (LA64). KĂ«rkohet tĂ« paktĂ«n versioni 2.38 i binutils, GCC 12 dhe bĂ«rthama Linux 5.19.
  • Mekanizmi prelink Ă«shtĂ« shpallur i vjetruar dhe do tĂ« hiqet nĂ« versionin e ardhshĂ«m, si dhe variablat e lidhur tĂ« mjedisit LD_TRACE_PRELINKING dhe LD_USE_LOAD_BIAS dhe funksionalitetet e lidhjes.
  • Kodet pĂ«r verifikimin e versionit tĂ« bĂ«rthamĂ«s Linux dhe trajtimin e variablit tĂ« mjedisit LD_ASSUME_KERNEL janĂ« hequr. Versioni minimal i mbĂ«shtetur pĂ«r ndĂ«rtimin e Glibc pĂ«rcaktohet pĂ«rmes fushĂ«s ELF NT_GNU_ABI_TAG.
  • NĂ« platformĂ«n Linux Ă«shtĂ« ndalur mbĂ«shtetja pĂ«r variablin e ambientit LD_LIBRARY_VERSION.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster