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ë:

  • Добавлена поддержка нового формата относительных перемещений адресов DT_RELR (relative relocation), позволяющего сократить размер относительных перемещений в разделяемых объектах и исполняемых файлах, скомпонованных в режиме с PIE (Position-independent executables). Для использования поля DT_RELR в ELF-файлах необходима поддержка опции «-z pack-relative-relocs» в компоновщике, появившаяся в выпуске набора 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.
  • Во встроенную реализацию DNS-резолвера добавлена поддержка опции «no-aaaa», позволяющей для упрощения диагностики проблем отключить отправку DNS-запросов записей AAAA (определение адреса IPv6 по имени хоста), в том числе при выполнении NSS-функций, подобных getaddrinfo(). Опция не влияет на обработку привязок IPv6-адресов, определённых в /etc/hosts и вызовы getaddrinfo() с флагом 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