Ngemva kwezinyanga eziyisithupha zokuthuthukiswa, umtapo wolwazi wesistimu we-GNU C Library 2.43 (glibc) ukhululiwe, uthobelana ngokugcwele namazinga e-ISO C23 kanye ne-POSIX.1-2024. Abathuthukisi abangu-69 abafake isandla ekukhishweni okusha.
Okunye ukuthuthukiswa okusetshenziswe ku-Glibc 2.43 kufaka phakathi:
- Isici sokwakha i-Clang compiler esivivinywayo sengeziwe. Okwamanje, sitholakala kuphela kumapulatifomu e-aarch64-linux-gnu kanye ne-x86_64-linux-gnu uma kusetshenziswa isikhathi sokusebenza esihambisana ne-libgcc. Ukwakha i-Glibc kudinga okungenani inguqulo 18 ye-Clang.
- Kwezinhlelo Linux Umsebenzi we-mseal() ungeziwe, okuvumela izinqubo ukuthi zibeke ukukhiya ekuguqulweni kwezingxenye ezithile zesikhala sazo sekheli.
- Kwezinhlelo Linux Umsebenzi we-openat2() ungeziwe. Ngokungafani nomsebenzi we-openat(), usekela isethi yamafulegi engeziwe okuvimbela ukuxazululwa kwendlela yefayela (okuvimbela ukuhlangana kwamaphuzu okukhweza, izixhumanisi ezingokomfanekiso, izixhumanisi zomlingo (/proc/PID/fd), izingxenye ze-"../").
- Kwengezwe imisebenzi ye-free_sized, free_aligned_sized, memset_explicit, kanye ne-memalignment eyethulwe ku-C23 standard.
- Ngokusho kwe-C23 standard, ucingo lwe-assert luchazwa njenge-variadic macro esekela izinkulumo ze-comma ngaphakathi kwe-initializer.
- Ngokuhambisana ne-C23 standard, imisebenzi ethi bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr, kanye ne-wmemchr, ebuyisela izikhombisi kuma-array okufaka, ichazwa kabusha njengama-macro abuyisela isikhombisi kuhlobo lwe-const-qualified uma impikiswano yokufaka iyisikhombisi kuhlobo lwe-const-qualified.
- Ifayela lekhanda le-math.h libuyekeziwe ukuze lifake izincazelo zezinhlobo ze-long_double_t, _Float32_t, _Float64_t, kanye ne-_Float128_t ezethulwe ku-C23 standard.
- Kungezwe izindlela zokubala isikhathi ozikhethela zona i-TIME_MONOTONIC (isikhathi esikhula njalo, ngaphandle kwezinguquko ewashini lesistimu), i-TIME_ACTIVE kanye ne-TIME_THREAD_ACTIVE (isikhathi sokusebenza okusebenzayo kwenqubo noma intambo) ukuze kusetshenziswe kumsebenzi we-timespec_get.
- Izinguqulo ezilungiselelwe zemisebenzi yezibalo i-acosh, i-asinh, i-atanh, i-erf, i-erfc, i-lgamma, kanye ne-tgamma zidluliselwe kusuka kuphrojekthi ye-CORE-MATH.
- Kwengezwe ukusetshenziswa okulungiselelwe kwemisebenzi i-fma, i-fmaf, i-residue, i-residuedef, i-frexpf, i-frexp, i-frexpl (binary128) kanye ne-frexpl (intel96).
- Ukusebenza okuthuthukisiwe kwemisebenzi yezibalo i-acosf, acoshf, asinhf, atan2f, atanhf, coshf, fmodf, lgammaf/lgammaf_r, log10f, resistantf, sinhf, sqrtf, tgammaf, y0/j0, y1/j1, kanye ne-yn/jn ngokususa ikhodi yokuphatha iphutha le-SVID (ukubiza umsebenzi we-matherr ochazwe ngumsebenzisi ephutheni) kwezakhiwo ezintsha (ukugcina ukuhambisana nezinhlelo ezikhona, zishiywa kumodi ye-compat).
- Kuzinhlelo ze-x86, ukwesekwa kwe-Intel Nova Lake kanye ne-Wildcat Lake processors kungeziwe.
- Kuzinhlelo ze-AArch64, ukusekelwa kwamakhasi amakhulu abonakalayo (2MB) kunikwe amandla ngokuzenzakalelayo kumsebenzi we-malloc (ipharamitha ye-ibc.malloc.hugetlb manje isethwe ku-1). Umsebenzi we-clone() manje ukhubaza isimo se-ZA (Z-Array) kuma-CPU asekela i-Scalable Matrix Extension (SME).
- Kumasistimu e-AArch64 asekela isandiso se-Branch Target Identification (BTI), kufakwe isilungiselelo se-glibc.cpu.aarch64_bti. Lesi silungiselelo sivumela amandla e-BTI kuwo wonke amafayela namalayibrari asebenzisekayo. Amabhulokhi e-BTI agxumela ezigabeni zekhodi ezingahleliwe ukuvimbela ukudalwa kwamagajethi kuzinhlelo ezisebenzisa amasu okuhlela aqondiswe ekubuyiseleni.
- Kuzinhlelo ze-AArch64 ezisekela esinye sezandiso zokuphepha kwegatsha (i-Branch Target Identification noma i-Guarded Control Stack), ukusetshenziswa kwe-environment variable "LD_DEBUG=security" kuvunyelwe ukubangela i-linker ukuthi iphrinte izixwayiso lapho ilayisha ama-executable nama-library angasekeli lezi zandiso.
- Kumasistimu e-AArch64, kufakwe izinguqulo zevektha zemisebenzi ye-exp2m1, exp10m1, log10p1, log2p1, kanye ne-rsqrt.
- Ngokwakhiwa kwe-RISC-V, ukusetshenziswa okulungiselelwe komsebenzi we-memset kungeziwe kusetshenziswa isandiso se-RVV (RISC-V Vector).
- I-test suite ikhulise kakhulu ukuhlolwa kwayo kwe-multithreading kanye nemisebenzi ye-scanf, strerror, kanye ne-strsignal.
- Idatha yombhalo wekhodi, ulwazi lohlobo lwezinhlamvu, namathebula okuhumusha abuyekeziwe ukuze asekele ukucaciswa kwe-Unicode 17.0.0.
- Ukuqaliswa kwe-LD_PROFILE akusasebenzisi isiqondisi esizenzakalelayo (/var/tmp) ekubhaleni idatha yephrofayela. Ukulondolozwa kwedatha enjalo manje kudinga ukuchaza ngokucacile isiqondisi kusetshenziswa i-LD_PROFILE_OUTPUT environment variable.
- Ubungozi bulungisiwe:
- I-CVE-2026-0861 - Ukugcwala kwenani eliphelele kumsebenzi we-memalign kuholela ekonakaleni kwenqwaba.
- I-CVE-2026-0915 – Ukuvuza kwe-stack kwimisebenzi ye-getnetbyaddr kanye ne-getnetbyaddr_r.
- I-CVE-2025-15281 - Ukubuyiselwa kwememori okungaqalwanga, okungase kube nedatha esele, uma kusetshenziswa umsebenzi we-wordexp onemingcele ye-WRDE_REUSE kanye ne-WRDE_APPEND.
Ngaphezu kwalokho, ngemva konyaka wokuthuthukiswa, iphrojekthi ye-Cygwin ikhiphe inguqulo 4.6.0 yomtapo wolwazi we-C ojwayelekile, i-newlib, owathuthukiswa onjiniyela kwa-Red Hat. Umtapo wolwazi uhlose ukuhlinzeka ngokusetshenziswa okuhlangene komtapo wolwazi we-C ojwayelekile (i-libc), ofanele ukusetshenziswa ezinhlelweni ezifakiwe ezinesitoreji esincane kanye nezinyathelo ze-RAM. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-LGPLv2.
Enguqulweni entsha ye-newlib:
- Ukusekelwa kwencazelo ye-POSIX.1-2024 kunwetshiwe.
- Ukusebenza okuthuthukisiwe kwemisebenzi ye-memcpy, i-mempcpy, kanye ne-memmove.
- Inketho eyengeziwe ethi "--enable-newlib-hw-misaligned-access".
- Ukwakheka kwe-RISC-V kwemisebenzi yochungechunge lwe-mem* kanye ne-str* kulungiselelwe.
- Ikhodi yokuphatha indawo isetshenziswe kabusha, kwasuswa i-global variable global_locale_string esikhundleni se-locale_string variables ehlukile yento ngayinye yendawo yohlobo lwe-locale_t.
- Kungezwe ukwesekwa kwepulatifomu entsha ye-m68k-atari-elf.
- Ikhodi ye-strtorQ.c ithuthwe kusuka kulabhulali ye-FreeBSD gdtoa, esetshenziselwa ukusebenzisa usekelo lohlobo lwe-"long double" oluyi-128-bit kumsebenzi we-strtold.
- Idatha yokufaka ikhodi ibuyekeziwe ku-Unicode 17.0.
Source: opennet.ru
