Publikimi i bibliotekave standarde C Glibc 2.43 dhe newlib 4.6.0

Pas pas gjashtë muajsh zhvillimi, është botuar versioni i bibliotekës sistemore GNU C Library 2.43 (glibc), e cila plotëson në mënyrë të plotë kërkesat e standardeve ISO C23 dhe POSIX.1-2024. Në krijimin e këtij versioni morën pjesë 69 zhvillues.

Disa përmirësime të realizuara në Glibc 2.43 përfshijnë:

  • ËshtĂ« shtuar njĂ« mundĂ«si eksperimentale pĂ«r ndĂ«rtimin me kompajlerin Clang, e cila aktualisht Ă«shtĂ« e disponueshme vetĂ«m pĂ«r platformat aarch64-linux-gnu dhe x86_64-linux-gnu duke pĂ«rdorur njĂ« runtime tĂ« pajtueshĂ«m me libgcc. PĂ«r ndĂ«rtimin e Glibc kĂ«rkohet tĂ« paktĂ«n versioni Clang 18.
  • PĂ«r sistemet Linux Ă«shtĂ« shtuar funksioni mseal(), i cili lejon proceset tĂ« vendosin njĂ« bllokim pĂ«r ndryshimin e pjesĂ«ve tĂ« caktuara tĂ« hapĂ«sirĂ«s sĂ« tyre adresuese.
  • PĂ«r sistemet Linux Ă«shtĂ« shtuar funksioni openat2(), i cili, ndryshe nga funksioni openat(), mbĂ«shtet njĂ« grup shtesĂ« flagash pĂ«r tĂ« kufizuar zgjidhjen e rrugĂ«s sĂ« skedarit (ndalimi i kalimeve nĂ« pika montimi, lidhje simbolike, lidhje magjike (/proc/PID/fd), komponente "../").
  • JanĂ« shtuar funksionet free_sized, free_aligned_sized, memset_explicit dhe memalignment, tĂ« cilat janĂ« shfaqur nĂ« standardin C23.
  • Sipas standardit C23, thirrja assert Ă«shtĂ« pĂ«rcaktuar si njĂ« makros me numĂ«r tĂ« ndryshĂ«m argumentesh, qĂ« mbĂ«shtet shprehjet me presje brenda inicializuesit.
  • Sipas standardit C23, funksionet bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr dhe wmemchr, tĂ« cilat kthejnĂ« tregues nĂ« masat hyrĂ«se, janĂ« ridĂ«rdhuar si makros, duke kthyer njĂ« tregues nĂ« tipin me kualifikatorin "const", nĂ«se argumenti hyrĂ«s Ă«shtĂ« njĂ« tregues nĂ« tipin me kualifikatorin "const".
  • NĂ« skedarin e titullit math.h janĂ« shtuar pĂ«rkufizimet e tipeve long_double_t, _Float32_t, _Float64_t dhe _Float128_t, tĂ« cilat u shfaqĂ«n nĂ« standardin C23.
  • Shtuar opsionet e llogaritjes sĂ« kohĂ«s TIME_MONOTONIC (koha qĂ« rritet vazhdimisht, e cila nuk varet nga ndryshimi i orĂ«s sĂ« sistemit), TIME_ACTIVE dhe TIME_THREAD_ACTIVE (koha e ekzekutimit aktiv tĂ« procesit ose thread-it) pĂ«r t'u pĂ«rdorur nĂ« funksionin timespec_get.
  • KĂ«to variante tĂ« optimizuara tĂ« funksioneve matematikore acosh, asinh, atanh, erf, erfc, lgamma dhe tgamma janĂ« transferuar nga projekti CORE-MATH.
  • Shtuar implementime tĂ« optimizuara tĂ« funksioneve fma, fmaf, remainder, remaindef, frexpf, frexp, frexpl (binary128) dhe frexpl (intel96).
  • Performanca e funksioneve matematike si acosf, acoshf, asinhf, atan2f, atanhf, coshf, fmodf, lgammaf/lgammaf_r, log10f, remainderf, sinhf, sqrtf, tgammaf, y0/j0, y1/j1 dhe yn/jn Ă«shtĂ« pĂ«rmirĂ«suar, falĂ« eliminimit tĂ« kodit pĂ«r trajtimin e gabimeve SVID (thirrja e funksionit tĂ« pĂ«rdoruesit matherr nĂ« rast gabimi) pĂ«r ndĂ«rtimet e reja (pĂ«r tĂ« ruajtur kompatibilitetin me programet e ndĂ«rtuara tashmĂ«, ato janĂ« lĂ«nĂ« nĂ« modin compat).
  • NĂ« sistemet x86 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r procesorĂ«t Intel Nova Lake dhe Wildcat Lake.
  • NĂ« sistemet AArch64, funksioni malloc tani nĂ« mĂ«nyrĂ« standarde pĂ«rfshin mbĂ«shtetje pĂ«r faqe tĂ« mĂ«dha kujtese (transparent huge pages) me madhĂ«si 2MB (parametri ibc.malloc.hugetlb tani Ă«shtĂ« vendosur nĂ« 1). Funksioni clone() implementon çaktivizimin e gjendjes ZA (Z-Array) nĂ« CPU me mbĂ«shtetje pĂ«r zgjerimin SME (Scalable Matrix Extension).
  • PĂ«r sistemet AArch64 qĂ« mbĂ«shtesin zgjerimin BTI (Branch Target Identification), Ă«shtĂ« shtuar konfigurimi glibc.cpu.aarch64_bti, i cili lejon aktivizimin e detyruar tĂ« BTI pĂ«r tĂ« gjitha skedarĂ«t ekzekutivĂ« dhe bibliotekat. BTI siguron bllokimin e kalimeve nĂ« pjesĂ« tĂ« rastĂ«sishme tĂ« kodit pĂ«r tĂ« parandaluar krijimin e gadgjeteve nĂ« eksploitĂ«t qĂ« pĂ«rdorin teknikat e programimit tĂ« orientuar pas kthimit.
  • NĂ« sistemet AArch64, qĂ« mbĂ«shtesin njĂ« nga zgjerimet pĂ«r mbrojtjen e deklivimit (Branch Target Identification ose Guarded Control Stack), lejohet pĂ«rdorimi i variablit tĂ« ambientit "LD_DEBUG=security" pĂ«r tĂ« shfaqur paralajmĂ«rime nga lidhĂ«si gjatĂ« ngarkimit tĂ« skedarĂ«ve ekzekutivĂ« dhe bibliotekave qĂ« nuk mbĂ«shtesin kĂ«to zgjerime.
  • PĂ«r sistemet AArch64 janĂ« shtuar varianta vektorike tĂ« funksioneve exp2m1, exp10m1, log10p1, log2p1 dhe rsqrt.
  • PĂ«r arkitekturĂ«n RISC-V Ă«shtĂ« shtuar njĂ« implementim i optimizuar i funksionit memset, duke pĂ«rdorur zgjerimin RVV (RISC-V Vector).
  • NĂ« grupin e testeve Ă«shtĂ« zgjeruar ndjeshĂ«m kontrolli i shumĂ«procesorĂ«ve dhe i funksioneve scanf, strerror dhe strsignal.
  • TĂ« dhĂ«nat e kodimeve, informacioni rreth llojeve tĂ« simboleve dhe tabelat e transliterimit janĂ« pĂ«rditĂ«suar pĂ«r tĂ« mbĂ«shtetur specifikimin Unicode 17.0.0.
  • NĂ« implementimin e funksionalitetit LD_PROFILE Ă«shtĂ« ndĂ«rprerĂ« pĂ«rdorimi i direktoriumit tĂ« paracaktuar (/var/tmp) pĂ«r tĂ« ruajtur tĂ« dhĂ«nat e profilit. Tani, pĂ«r tĂ« ruajtur kĂ«to tĂ« dhĂ«na kĂ«rkohet njĂ« pĂ«rcaktim i qartĂ« i direktoriumit pĂ«r to pĂ«rmes variablit tĂ« ambientit LD_PROFILE_OUTPUT.
  • Identifikuar dobĂ«si:
    • CVE-2026-0861 — tejkalimi i numrave tĂ« plotĂ« nĂ« funksionin memalign, qĂ« çon nĂ« dĂ«mtimin e heap-it.
    • CVE-2026-0915 — rrjedhja e pĂ«rmbajtjes sĂ« stack-ut nĂ« funksionet getnetbyaddr dhe getnetbyaddr_r.
    • CVE-2025-15281 — kthim i memories sĂ« pa inicializuar qĂ« mund tĂ« pĂ«rmbajĂ« tĂ« dhĂ«na tĂ« mbetura, kur pĂ«rdoret funksioni wordexp me parametrat WRDE_REUSE dhe WRDE_APPEND.

Përveç kësaj, pas një viti zhvillimi, projekti Cygwin publikoi versionin e bibliotekës standarde të gjuhës C newlib 4.6.0, e zhvilluar nga inxhinierët e kompanisë Red Hat. Biblioteka ka si qëllim të ofrojë një implementim kompakt të bibliotekës standarde të gjuhës C (libc), e përshtatshme për përdorim në sisteme të integruara me hapësirë të vogël të magazinimit dhe memories. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën LGPLv2.

Në versionin e ri të newlib:

  • ËshtĂ« zgjeruar mbĂ«shtetja pĂ«r specifikimin POSIX.1-2024.
  • ËshtĂ« rritur performanca e funksioneve memcpy, mempcpy dhe memmove.
  • Ă«shtĂ« shtuar opcioni «—enable-newlib-hw-misaligned-access».
  • Ă«shtĂ« optimizuar arkitektura RISC-V e funksioneve tĂ« serisĂ« mem* dhe str*.
  • Ă«shtĂ« ri-dizajnuar kodi pĂ«r pĂ«rpunimin e lokaliteteve, i cili Ă«shtĂ« çliruar nga variabla globale global_locale_string nĂ« favor tĂ« variablave tĂ« veçanta locale_string pĂ«r çdo objekt lokaliteti me tipin locale_t.
  • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r platformĂ«n e re m68k-atari-elf.
  • Kodi strtorQ.c Ă«shtĂ« transferuar nga biblioteka gdtoa e FreeBSD, i cili Ă«shtĂ« i angazhuar pĂ«r tĂ« zbatuar mbĂ«shtetje pĂ«r tipin 128-bit ‘long double’ nĂ« funksionin strtold.
  • TĂ« dhĂ«nat e kodimeve janĂ« azhurnuar nĂ« Unicode 17.0.

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