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

Pas pas gjashtë muajsh zhvillimi, është publikuar versioni i librarisë sistemore GNU C Library (glibc) 2.36, e cila plotëson plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në këtë botim të ri janë përfshirë korrigjime nga 59 zhvillues.

Nga përmirësimet e realizuara në Glibc 2.36, vlen të përmenden:

  • Shtimi i mbĂ«shtetjes pĂ«r formatin e ri tĂ« zhvendosjes relative DT_RELR (zhvendosje relative), i cili lejon tĂ« zvogĂ«lohet madhĂ«sia e zhvendosjeve relative nĂ« objektet e ndara dhe skedarĂ«t ekzekutivĂ«, tĂ« kombinuara nĂ« modin PIE (ekzekutivĂ« tĂ« pavarur nga pozita). PĂ«r tĂ« pĂ«rdorur fushĂ«n DT_RELR nĂ« skedarĂ«t ELF, Ă«shtĂ« e nevojshme tĂ« ketĂ« mbĂ«shtetje pĂ«r opsionin "-z pack-relative-relocs" nĂ« lidhĂ«s, i cili u shfaq nĂ« versionin e setit binutils 2.38.
  • PĂ«r platformĂ«n Linux janĂ« realizuar funksionet pidfd_open, pidfd_getfd dhe pidfd_send_signal, tĂ« cilat ofrojnĂ« qasje nĂ« funksionalitetin pidfd, i cili ndihmon nĂ« pĂ«rpunimin e situatave tĂ« ripĂ«rdorimit tĂ« PID pĂ«r identifikimin mĂ« tĂ« saktĂ« tĂ« proceseve qĂ« i qasin skedarĂ«ve tĂ« ndjekur (pidfd lidhet 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, i asociuar me kĂ«tĂ« PID).
  • PĂ«r platformĂ«n Linux Ă«shtĂ« shtuar funksioni process_madvise(), i cili lejon njĂ« proces tĂ« ekzekutojĂ« thirrjen sistemore madvise() nĂ« emĂ«r tĂ« njĂ« processi tjetĂ«r, duke identifikuar procesin e synuar me pidfd. Me anĂ« tĂ« madvise(), mund tĂ« informoni bĂ«rthamĂ«n pĂ«r veçoritĂ« e punĂ«s me memorien pĂ«r optimizimin e menaxhimit tĂ« memorjes sĂ« procesit; pĂ«r shembull, bazuar nĂ« informacionin e dorĂ«zuar, bĂ«rthama mund tĂ« inicojĂ« çlirimin e memorjes sĂ« lirĂ« shtesĂ«. Thirrja madvise() nga njĂ« proces tjetĂ«r mund tĂ« kĂ«rkohet nĂ« situatat kur informacioni e nevojshĂ«m pĂ«r optimizimin nuk Ă«shtĂ« i njohur pĂ«r procesin aktual, por koordinohet nga njĂ« proces menaxhues tĂ« prapavijĂ«s, i cili mund tĂ« inicojĂ« vetĂ« tĂ«rheqjen e memorjes sĂ« papĂ«rdorur nga proceset.
  • PĂ«r platformĂ«n Linux Ă«shtĂ« shtuar funksioni process_mrelease(), i cili mundĂ«son shpejtimin e çlirimit tĂ« memories sĂ« procesit qĂ« pĂ«rfundon ekzekutimin e tij. NĂ« rrethana normale, çlirimi i burimeve dhe pĂ«rfundimi i procesit nuk ndodhin menjĂ«herĂ« dhe pĂ«r arsye tĂ« ndryshme mund tĂ« vonohen, çka pengon funksionimin e sistemeve tĂ« reagimit tĂ« hershĂ«m ndaj mungesĂ«s sĂ« memories, siç Ă«shtĂ« oomd (i ofruar nĂ« systemd). Me anĂ« tĂ« thirrjes process_mrelease, kĂ«to sisteme mund tĂ« nisin mĂ« parashikueshĂ«m kthimin e memories nga proceset e detyruara pĂ«r t'u pĂ«rfunduar.
  • Implementimi i integruar i DNS-resolver-it ka marrĂ« mbĂ«shtetje pĂ«r opsionin "no-aaaa", i cili lejon qĂ« pĂ«r tĂ« thjeshtĂ«zuar diagnostikimin e problemeve tĂ« ndaloni dĂ«rgimin e kĂ«rkesave DNS pĂ«r rekordet AAAA (pĂ«rkufizimi i adresĂ«s IPv6 sipas emrit tĂ« hostit), duke pĂ«rfshirĂ« gjatĂ« ekzekutimit tĂ« funksioneve NSS, si getaddrinfo(). Ky opsion nuk ndikon nĂ« trajtimin e lidhjeve tĂ« adresave IPv6, tĂ« pĂ«rkufizuara nĂ« /etc/hosts dhe thirrjet getaddrinfo() me flagun AI_PASSIVE.
  • PĂ«r platformĂ«n Linux janĂ« shtuar funksionet fsopen, fsmount, move_mount, fsconfig, fspick, open_tree dhe mount_setattr, tĂ« cilat ofrojnĂ« qasje nĂ« njĂ« API tĂ« ri tĂ« bĂ«rthamĂ«s pĂ«r menaxhimin e montimit tĂ« sistemeve tĂ« skedarĂ«ve, duke marrĂ« parasysh hapĂ«sirat e emrave tĂ« pikave tĂ« montimit (mount namespaces). Funksionet e propozuara lejojnĂ« pĂ«rpunimin e veçantĂ« tĂ« fazave tĂ« ndryshme tĂ« montimit (pĂ«rpunimin e superblokut, marrjen e informacionit mbi FS-nĂ«, montimin, ngjitjen nĂ« pikĂ«n e montimit), tĂ« cilat mĂ« parĂ« ishin realizuar pĂ«rmes njĂ« funksioni tĂ« pĂ«rgjithshĂ«m mount(). Funksionet e veçanta mundĂ«sojnĂ« realizimin e skenarĂ«ve mĂ« tĂ« ndĂ«rlikuar tĂ« montimit dhe ekzekutimin e veprimeve tĂ« tilla si rikonfigurimi i superblokut, aktivizimi i opsioneve, ndryshimi i pikĂ«s sĂ« montimit dhe zhvendosja nĂ« njĂ« hapĂ«sirĂ« tjetĂ«r emri. PĂ«r mĂ« tepĂ«r, pĂ«rpunimi i ndarĂ« lejon pĂ«rcaktimin e saktĂ« tĂ« arsyeve tĂ« kthimit tĂ« kodit tĂ« gabimeve dhe caktimin e disa burimeve pĂ«r FS-tĂ« me shumĂ« shtresa, siç Ă«shtĂ« overlayfs.
  • NĂ« localedef Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r pĂ«rpunimin e skedarĂ«ve me pĂ«rcaktime locales, tĂ« ofruara nĂ« kodimin UTF-8 nĂ« vend tĂ« ASCII.
  • JanĂ« shtuar funksione pĂ«r konvertimin e kodimeve multi-byte mbrtoc8 dhe c8rtomb, tĂ« pĂ«rputhshme me specifikimet ISO C2X N2653 dhe C++20 P0482R6.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r llojin char8_t, tĂ« pĂ«rcaktuar nĂ« projektin e standardit ISO C2X N2653.
  • Shtohen funksionet arc4random, arc4random_buf dhe arc4random_uniform, tĂ« cilat ofrojnĂ« mbĂ«shtetje pĂ«r thirrjen sistemike getrandom dhe ndĂ«rfaqen /dev/urandom, duke kthyer numra tĂ« rastĂ«sishĂ«m tĂ« cilĂ«sisĂ« sĂ« lartĂ«.
  • NĂ« platformĂ«n Linux Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r arkitekturĂ«n e grupit tĂ« urdhĂ«rave LoongArch, e cila pĂ«rdoret nĂ« procesorĂ«t Loongson 3 5000 dhe zbaton njĂ« ISA tĂ« ri RISC, tĂ« ngjashĂ«m me MIPS dhe RISC-V. Aktualisht Ă«shtĂ« e disponueshme vetĂ«m mbĂ«shtetja pĂ«r variantin 64-bit tĂ« LoongArch (LA64). KĂ«rkohet njĂ« minimum i versioneve binutils 2.38, GCC 12 dhe kernel Linux 5.19.
  • Mekanizmi prelink shpallet i vjetruar dhe do tĂ« hiqet nĂ« versionin e ardhshĂ«m, si dhe variablat e lidhura mjedisore LD_TRACE_PRELINKING dhe LD_USE_LOAD_BIAS dhe mundĂ«sitĂ« e lidhĂ«sit.
  • Kodi pĂ«r kontrollin e versionit tĂ« kernelit Linux dhe trajtimin e variablĂ«s mjedisore LD_ASSUME_KERNEL Ă«shtĂ« hequr. Versioni minimal i mbĂ«shtetur gjatĂ« ndĂ«rtimit tĂ« Glibc pĂ«rcaktohet pĂ«rmes fushĂ«s ELF NT_GNU_ABI_TAG.
  • NĂ« platformĂ«n Linux Ă«shtĂ« ndĂ«rprerĂ« mbĂ«shtetje pĂ«r variablĂ«n mjedisore LD_LIBRARY_VERSION.

Burimi: opennet.ru

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