Lëshimi i bibliotekave standarde C Glibc 2.43 dhe newlib 4.6.0

Pas pas gjashtë muajsh zhvillimi është publikuar lëshimi i bibliotekës së sistemit GNU C Library 2.43 (glibc), e cila i përmbahet plotësisht kërkesave të standarteve ISO C23 dhe POSIX.1-2024. Në krijimin e këtij versioni morën pjesë 69 zhvillues.

Nga përmirësimet e realizuara në Glibc 2.43 mund të përmenden:

  • Ë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 runtime, tĂ« cilĂ«s i korrespondon 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 shtesash tĂ« flamujve pĂ«r tĂ« kufizuar lejet e rrugĂ«ve tĂ« skedarĂ«ve (ndalimi i kalimeve tĂ« pikave tĂ« montimit, linkeve simbolike, linkeve magjike (/proc/PID/fd), dhe komponenteve «..»).
  • JanĂ« shtuar funksionet free_sized, free_aligned_sized, memset_explicit dhe memalignment, tĂ« cilat janĂ« shfaqur nĂ« standardin C23.
  • Sipas standardit C23, thirrja e assert Ă«shtĂ« pĂ«rcaktuar si makro me numĂ«r tĂ« ndryshueshĂ«m argumentesh, e cila mbĂ«shtet shprehjet me presje brenda inicializuesit.
  • Sipas standardit C23, funksionet bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr dhe wmemchr, qĂ« kthejnĂ« tregues nĂ« masat hyrĂ«se, janĂ« rishkruar si makro, duke kthyer njĂ« tregues tĂ« llojit me kufizues «const», nĂ«se argumenti hyrĂ«s Ă«shtĂ« tregues i njĂ« lloji me kufizues «const».
  • NĂ« skedarin e titullit math.h janĂ« shtuar definicionet e tipave long_double_t, _Float32_t, _Float64_t dhe _Float128_t, tĂ« cilat janĂ« shfaqur nĂ« standardin C23.
  • JanĂ« shtuar mĂ«nyra opsionale tĂ« llogaritjes sĂ« kohĂ«s TIME_MONOTONIC (koha qĂ« rritet vazhdimisht, e pavarur nga ndryshimi i orĂ«ve tĂ« sistemit), TIME_ACTIVE dhe TIME_THREAD_ACTIVE (koha e ekzekutimit aktiv tĂ« procesit ose thread-it) pĂ«r pĂ«rdorim nĂ« funksionin timespec_get.
  • Nga projekti CORE-MATH janĂ« transferuar variante tĂ« optimizuara tĂ« funksioneve matematikore acosh, asinh, atanh, erf, erfc, lgamma dhe tgamma.
  • JanĂ« shtuar implementime tĂ« optimizuara tĂ« funksioneve fma, fmaf, remainder, remaindef, frexpf, frexp, frexpl (binary128) dhe frexpl (intel96).
  • Performanca e funksioneve matematikore acosf, acoshf, asinhf, atan2f, atanhf, coshf, fmodf, lgammaf/lgammaf_r, log10f, remainderf, sinhf, sqrtf, tgammaf, y0/j0, y1/j1 dhe yn/jn Ă«shtĂ« rritur fal eliminimit tĂ« kodit tĂ« trajtimit tĂ« 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 tashmĂ« tĂ« ndĂ«rtuara, 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 pĂ«rfshin mbĂ«shtetje pĂ«r faqe tĂ« mĂ«dha memorje (transparent huge pages) me madhĂ«si 2MB (parametri ibc.malloc.hugetlb tani Ă«shtĂ« vendosur nĂ« 1). NĂ« funksionin clone() Ă«shtĂ« realizuar çaktivizimi i gjendjes ZA (Z-Array) nĂ« CPU-tĂ« 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 detyrueshĂ«m tĂ« BTI pĂ«r tĂ« gjithĂ« skedarĂ«t ekzekutues dhe bibliotekat. BTI siguron bllokimin e kalimeve nĂ« pjesĂ« tĂ« rastĂ«sishme tĂ« kodit pĂ«r tĂ« parandaluar krijimin e gadgeteve nĂ« eksploitĂ«t qĂ« pĂ«rdorin teknikat e programimit tĂ« orientuar drejt rikthimit.
  • NĂ« sistemet AArch64, qĂ« mbĂ«shtesin njĂ« nga zgjerimet pĂ«r mbrojtjen e degĂ«zimit (Branch Target Identification ose Guarded Control Stack), Ă«shtĂ« lejuar pĂ«rdorimi i variablĂ«s sĂ« ambientit 'LD_DEBUG=security' pĂ«r tĂ« prodhuar paralajmĂ«rime nga linker gjatĂ« ngarkesĂ«s sĂ« skedarĂ«ve ekzekutues dhe bibliotekave qĂ« nuk mbĂ«shtesin kĂ«to zgjerime.
  • PĂ«r sistemet AArch64 janĂ« shtuar variante vektoriale tĂ« funksioneve exp2m1, exp10m1, log10p1, log2p1 dhe rsqrt.
  • PĂ«r arkitekturĂ«n RISC-V Ă«shtĂ« shtuar njĂ« implementim i optimizuar i funksionit memset, qĂ« pĂ«rdor zgjerimin RVV (RISC-V Vector).
  • NĂ« grupin e testeve Ă«shtĂ« zgjeruar nĂ« mĂ«nyrĂ« tĂ« konsiderueshme kontrolli i shumĂ«procĂ«s dhe funksioneve scanf, strerror dhe strsignal.
  • TĂ« dhĂ«nat e kodimeve, informacioni rreth tipeve tĂ« karaktereve 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Ă« ndalur pĂ«rdorimi i katalogut tĂ« paracaktuar (/var/tmp) pĂ«r tĂ« regjistruar tĂ« dhĂ«nat e profilizimit. PĂ«r tĂ« ruajtur tĂ« tilla tĂ« dhĂ«na tani kĂ«rkohet njĂ« pĂ«rcaktim i shprehur pĂ«r katalogun pĂ«r to pĂ«rmes variablĂ«s sĂ« ambientit LD_PROFILE_OUTPUT.
  • JanĂ« eliminuar vulnerabilitetet:
    • CVE-2026-0861 — tejkalimi i numrit tĂ« plotĂ« nĂ« funksionin memalign, qĂ« çon nĂ« dĂ«mtimin e grumbullit.
    • CVE-2026-0915 — rrjedhja e pĂ«rmbajtjes sĂ« stack-ut nĂ« funksionet getnetbyaddr dhe getnetbyaddr_r.
    • CVE-2025-15281 — rikthimi i memorjes sĂ« pa inicializuar, e cila mund tĂ« pĂ«rmbajĂ« tĂ« dhĂ«na mbetĂ«se, kur pĂ«rdoret funksioni wordexp me parametrat WRDE_REUSE dhe WRDE_APPEND.

Për më tepër, pas një viti zhvillimi, projekti Cygwin publikoi lirimin e bibliotekës standarde të gjuhës C newlib 4.6.0, e zhvilluar nga inxhinierët e kompanisë Red Hat. Biblioteka është orientuar drejt ofrimit të një realizimi kompakt të bibliotekës standarde të gjuhës C (libc), e përshtatshme për përdorim në sisteme të embedded me një sasi të vogël hapësire të përhershme dhe memorie të përkohshme. 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 opsioni "—enable-newlib-hw-misaligned-access".
  • Ă«shtĂ« optimizuar arkitektura RISC-V e funksioneve tĂ« serisĂ« mem* dhe str*.
  • Kabllosja e kodit pĂ«r trajtimin e locale-ve Ă«shtĂ« ripunuar, duke hequr variablin global global_locale_string nĂ« favor tĂ« variablave tĂ« veçantĂ« locale_string pĂ«r çdo objekt locale me tipin locale_t.
  • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r platformĂ«n e re m68k-atari-elf.
  • Kodi strtorQ.c Ă«shtĂ« transferuar nga biblioteca gdtoa e FreeBSD, e cila aktivizohet pĂ«r tĂ« mbĂ«shtetur tipin 128-bit "long double" nĂ« funksionin strtold.
  • TĂ« dhĂ«nat e kodimit janĂ« pĂ«rditĂ«suar deri nĂ« Unicode 17.0.

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