Pas gjashtë muajsh zhvillimi, është publikuar versioni i bibliotekës sistemike GNU C Library 2.42 (glibc), e cila i përmbahet plotësisht kërkesave të standardeve ISO C23 dhe POSIX.1-2024. Në krijimin e lëshimit të ri morën pjesë 70 zhvillues.
Nga përmirësimet e realizuara në Glibc 2.42, mund të përmenden:
- Funksioni pthread_create tani mbështet faqe të lehta mbrojtjeje për mbrojtjen e grumbullit (stack guard page), qasja në të cilat provokon një përjashtim dhe ndalon procesin (SIGSEGV). Zbatimi mbështetet në flakën MADV_GUARD_INSTALL që është e pranuar në thirrjen sistemike madvise, e cila mbështetet që nga bërthama Linux 6.13. Krahasuar me mapimin në modin PROT_NONE, faqet mbrojtëse ndihmojnë në bllokimin më efikas të shpërndarjes së kodit përtej hapësirës së dedikuar të memories, pasi krijimi i tyre nuk kërkon ndarje të një hapësire të re virtuale të memories.
- Janë shtuar dhe pasqyruar në skedarin e titujve math.h funksione të reja për ngritjen në fuqi dhe llogaritjet e rrënjëve compoundn, pown dhe powr, rootn dhe rsqrt, të përcaktuara në standardin ISO C23. Variacione të funksioneve janë realizuar për tipet float, double, long double, _FloatN dhe _FloatNx, si dhe për tipin e përgjithshëm nga tgmath.h.
- Në platformën Linux është implementuar funksioni pthread_gettid_np, i cili si funksioni gettid() kthen identifikuesin unik të këtij rrjedhë, por ndryshon me kontrollin e zgjeruar të gabimeve (në rast të ndodhisë së sjelljes së papërcaktuar, procesi ndalon).
- Janë shtuar funksione për llogaritjen e vlerave absolute, që punojnë me tipe pa shenjë: uabs, ulabs, ullabs dhe uimaxabs. Këto funksione do të bëhen pjesë e standardit të ardhshëm të C.
- Në platformën Linux, në ndërfaqen programore termios.h është implementuar mbështetje për vlera të rastësishme të shpejtësisë së transmetimit. Tipo speed_t është ri-definuar dhe tani përputhet me tipin "unsigned int", si në bërthamën Linux.
- Në cache-in lokal për rrjedha (tcache), i përdorur në funksionin malloc, është shtuar mbështetje për caching të blloqeve të mëdha të memories. Madhësia maksimale e bllokut mund të ri-konfigurohet përmes cilësimit glibc.malloc.tcache_max, i cili mund të marrë vlera deri në 4194304. Punimi i caches për blloqe të vogla është përshpejtuar.
- Në skenarin e ndërtimit configure është shtuar mundësia "--enable-sframe", e cila aktivizon mbështetje për formatin SFrame, që përdoret për të paraqitur informacionin mbi gjurmimin e grumbullit dhe që mbështetet nga funksioni backtrace. Për të përdorur SFrame kërkohet të paktën versioni binutils 2.45.
- Nga projekti CORE-MATH janë transferuar variante të optimizuara të funksioneve matematikore acospif, asinpif, atanpif, atan2pif, cospif, sinpif dhe tanpif.
- Grupi i testimit është zgjeruar ndjeshëm, tani mbulon funksionimin e variacioneve të ndryshme të familjeve të funksioneve printf dhe scanf.
- Kodi për përcaktimin e procesorëve Intel të bazuar në mikroarkitekturën Arrow Lake, Panther Lake, Clearwater Forest dhe Diamond Rapids është shtuar.
- Shtimi i mbështetjes për platformën z17 (gjenerata e re e mainframe-ve IBM Z/S390).
- Në konfigurimin glibc.rtld.execstack është shtuar mbështetje për modalitetin e kompatibilitetit për mbështetje të programeve që kërkojnë një stek ekzekutiv përmes bibliotekave të ngarkuara dinamikisht.
- Klasifikuesi header termio.h dhe përcaktimi i strukturës termio janë hequr nga sys/ioctl.h. Ndërfaqja programore termio.h ishte shpallur e përkëdhelur që në POSIX.1 (1988) dhe është zëvendësuar me termios.h.
- Për ndërtimin e Glibc tani kërkohen të paktën lëshimet GCC 12.1 dhe GNU Binutils 2.39.
- Janë eliminuar vulnerabilitetet:
- CVE-2025-0395 â mbushja e buffers gjatĂ« ekzekutimit tĂ« funksionit assert(). Mbushja ndodh kur jepet njĂ« emĂ«r programi shumĂ« i madh (argv[0]). Problemi pĂ«rshkruhet si i sigurt, pasi jashtĂ« buffers shkruhen 4 byte, pĂ«rmbajtja e tĂ« cilave nuk mund tĂ« kontrollohet nga sulmuesi. Me kĂ«tĂ« rast, fakti i shfaqjes sĂ« njĂ« vulnerabiliteti nĂ« funksionet e debugging qĂ« rrjedh nga njĂ« gabim nĂ« daljen e emrit tĂ« aplikacionit aktual Ă«shtĂ« i rĂ«ndĂ«sishĂ«m.
- CVE-2025-5702, CVE-2025-5745 â vulnerabilitete nĂ« implementimin e funksioneve strcmp dhe strncmp pĂ«r procesorĂ«t Power10, tĂ« cilat shkaktojnĂ« dĂ«shtim nĂ« ruajtjen dhe rikthimin e regjistrave vektorĂ« v20-v31, tĂ« cilĂ«t duhet tĂ« ruajnĂ« midis thirrjeve tĂ« funksioneve. Vulnerabiliteti mund tĂ« pĂ«rdoret pĂ«r tĂ« rindĂ«rtuar apo pĂ«rcaktuar pĂ«rmbajtjen e tĂ« dhĂ«nave tĂ« regjistrave, tĂ« pĂ«rdorur nga funksioni tjetĂ«r.
- CVE-2025-8058 â njĂ« vulnerabilitet nĂ« funksionin regcomp, i cili çon nĂ« njĂ« lirimin tĂ« dyfishtĂ« tĂ« memories (double-free).
Shtesë mund të përmendet lëshimi i setit të utilitarëve sistemorë GNU Binutils 2.45, i cili përfshin programe të tilla si GNU linker, GNU assembler, nm, objdump, strings, strip.
Në versionin e ri të Binutils:
- NĂ« GNU assembler:
- Shtuar mbështetje për zgjerimet e fundit për arkitekturat RISC-V, LoongArch dhe AArch64. Për x86 është shtuar mbështetje për instrukcionet XMODX, të implementuara në procesorët Zhaoxin PadLock. Për RISC-V është shtuar mbështetje për instrukcionet ssqosid v1.0, ssnpm v1.0, smnpm v1.0, smmpm v1.0, sspm v1.0, supm v1.0, sha v1.0, zce v1.0, smcdeleg v1.0, ssccfg v1.0, svvptc v1.0, zilsd v1.0, zclsd v1.0, smrnmi v1.0, xtheadvdot v1.0, xmipscbop v1.0, xmipscmov v1.0, xmipsexectl v1.0 dhe xmipslsp v1.0.
- ĂshtĂ« siguruar pĂ«rputhshmĂ«ria e gjenerimit tĂ« tĂ« dhĂ«nave nĂ« formatin SFrame me specifikimin SFrame V2. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r gjenerimin e informacionit pĂ«r gjurmimin e stack-ut (.sframe) nga direktivat CFI nĂ« sistemet 64-bit s390 (s390x).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r direktivat .errif dhe .warnif pĂ«r daljen e mesazheve diagnostikuese kur shkaktohen kushte tĂ« caktuara.
- NĂ« lidhĂ«s, nĂ« opsionin «âstats» Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r njĂ« argument opsional, pĂ«rmes tĂ« cilit mund tĂ« specifikohet emri i skedarit pĂ«r ruajtjen e informacionit mbi konsumin e burimeve nĂ« fazat e ndryshme tĂ« lidhjes. Emri i skedarit gjithashtu mund tĂ« spesifikohet pĂ«rmes variablit tĂ« mjedisit LD_STATS. PĂ«r sistemet RISC-V, lidhĂ«si ka shtuar mbĂ«shtetje pĂ«r formate tĂ« reja PLT (Tabela e Lidhjes sĂ« Procedurave).
- Janë bërë përmirësime të ndryshme që lidhen me mbështetje të formatit SFrame. Funksionet për punën me SFrame janë nxjerrë në bibliotekën versionuar libsframe.so.2.
- Në disassembler dhe utilitarin readelf është zgjeruar mbështetja për arkitekturën RISC-V.
Burimi: opennet.ru
