Kuue kuu arendustööde jĂ€rel on vĂ€lja antud GNU C Library 2.42 (glibc) sĂŒsteemiraamatukogu, mis jĂ€rgib tĂ€ielikult ISO C23 ja POSIX.1-2024 standardite nĂ”udeid. Uue vĂ€ljaande loomises osales 70 arendajat.
Glibc 2.42 teostatavates tÀiustustes vÔib mÀrkida:
- Funktsioonile pthread_create on lisatud toetus kergete valvurite lehtede jaoks, et kaitsta steki (stack guard page), millele juurdepÀÀs pĂ”hjustab erandi ja protsessi hĂ€daolukorra lĂ”petamise (SIGSEGV). Rakendus pĂ”hineb sĂŒsteemikutses madvise ilmunud lipul MADV_GUARD_INSTALL, mille toetamine algas Linuxi tuumast 6.13. VĂ”rreldes PROT_NONE reĆŸiimi kaardistamisega vĂ”imaldavad valvurilehed tĂ”husamalt blokeerida koodi tĂ€itmist eraldatud mĂ€lu aladest, kuna nende loomine ei nĂ”ua uue virtuaalse mĂ€luala eraldamist.
- Pealkirjafailis math.h on lisatud ja peegeldatud uusi funktsioone, mis vĂ”ivad tĂ”sta astmeid ja arvutada juuri, millised on compoundn, pown ja powr, rootn ja rsqrt, mis on mÀÀratletud ISO C23 standardis. Funktsioonide variandid on rakendatud tĂŒĂŒpidele float, double, long double, _FloatN ja _FloatNx, samuti ĂŒldisele tĂŒĂŒbile tgmath.h-st.
- Linuxi platvormil on rakendatud funktsioon pthread_gettid_np, mis nagu funktsioon gettid() tagastab unikaalse teema identifikaatori, kuid erineb laiendatud veakontrolli poolest (ebamugavustunde korral lÔpetatakse protsess).
- Lisatud on funktsioonid absoluutsete vÀÀrtuste arvutamiseks, mis töötavad mĂ€rketa tĂŒĂŒpidega: uabs, ulabs, ullabs ja uimaxabs. Need funktsioonid lĂ€hevad tulevasse C standardisse.
- Linuxi platvormil on programmiliideses termios.h rakendatud toetust igasugustele edastuskiirus vÀÀrtustele. TĂŒĂŒp speed_t on ĂŒmber mÀÀratletud ja vastab nĂŒĂŒd tĂŒĂŒbile 'unsigned int', nagu Linuxi kernelis.
- Kohalikku lĂ”imekassi (tcache), mida kasutatakse malloc funktsioonis, on lisatud suurte mĂ€luplokkide vahemĂ€llu salvestamise tugi. Maksimaalset ploki suurust saab ĂŒmber mÀÀrata seadistusega glibc.malloc.tcache_max, mis vĂ”ib vĂ”tta vÀÀrtusi kuni 4194304. Suurendatud on vahemĂ€lu tööd vĂ€ikeste plokkide puhul.
- Kogumisskripti configure on lisatud valik ââenable-sframeâ, mis vĂ”imaldab SFrame formaadi toe, mida kasutatakse virnastamise jĂ€lgimise teabe esitamiseks ja mille toetab backtrace funktsioon. SFrame'i kasutamiseks on vajalik vĂ€hemalt versioon binutils 2.45.
- Projekti CORE-MATH on kantud optimeeritud versioonid matemaatilistest funktsioonidest acospif, asinpif, atanpif, atan2pif, cospif, sinpif ja tanpif.
- Testikomplekti on mĂ€rgatavalt laiendatud, katma nĂŒĂŒd erinevate printf ja scanf funktsioonide perede töö.
- Lisatud kood Intel'i protsessorite tuvastamiseks, mis pÔhinevad mikroarhitektuuril Arrow Lake, Panther Lake, Clearwater Forest ja Diamond Rapids.
- Lisatud tugi z17 platvormile (IBM Z/S390 uus pÔlvkond).
- Glibc.rtld.execstack seadetesse on lisatud ĂŒhilduvusreĆŸiimi tugi, et toetada programme, mis vajavad kĂ€ivitatavat kuhja dĂŒnaamiliselt laaditavatesse raamatukogudesse.
- Pealkirjafail termio.h ja struktuuri termio mÀÀratlemine on eemaldatud sys/ioctl.h. Interfaan termio.h kuulutati aastast POSIX.1 (1988) vananenuks ja asendati termios.h.
- Glibci kogumiseks on nĂŒĂŒd vajalik vĂ€hemalt GCC 12.1 ja GNU Binutils 2.39 vĂ€ljalasked.
- Turbeteated:
- CVE-2025-0395 â puudumine pufferi tĂ€itmisel assert() funktsioonis. Overflown tekkib juhul, kui antakse liiga suur programmi nimi (argv[0]). Probleemi peetakse mitteohtlikuks, kuna pufferist vĂ€ljapoole kirjutatakse 4 baiti, mille sisu ei saa rĂŒndaja kontrollida. Samas on huvitav fakt, et vigade tĂ”ttu praeguse rakenduse nime printimise funktsioonides ilmneb haavatavus.
- CVE-2025-5702, CVE-2025-5745 â haavatavused Power10 protsessorite strcmp ja strncmp funktsioonide teostuses, mis pĂ”hjustavad vektorregisterite v20-v31 salvestamise ja taastamise ebaĂ”nnestumist, mis peaksid funktsioonide vahel sĂ€ilima. Haavatavust saab kasutada andmete sisu registrite ĂŒle kirjutamiseks vĂ”i mÀÀramiseks, mida kasutatakse jĂ€rgmises funktsioonis.
- CVE-2025-8058 â haavatavus regcomp funktsioonis, mis pĂ”hjustab mĂ€lule topeltvabastamise (double-free).
Lisaks tasub mainida GNU Binutils 2.45 sĂŒsteemi utiliitide komplekti vĂ€ljaandmist, kuhu kuuluvad sellised programmid nagu GNU linker, GNU assembler, nm, objdump, strings, strip.
Uues versioonis Binutils:
- GNU assembleris:
- Lisa toetust uusimate RISC-V, LoongArch ja AArch64 arhitektuuride laiendustele. x86 puhul on lisatud XMODX kÀsud, mis on rakendatud Zhaoxin PadLock protsessorites. RISC-V jaoks on lisatud kÀsud 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 ja xmipslsp v1.0.
- Tagatud on andmete genereerimise ĂŒhilduvus SFrame formaadis vastavalt SFrame V2 spetsifikatsioonile. 64-bitistes s390 (s390x) sĂŒsteemides on lisatud toetus kiirusriba jĂ€lgimise teabe genereerimiseks (.sframe) CFI direktiivide kaudu.
- Lisatud on .errif ja .warnif direktiivide toetus, et kuvada diagnostilisi teadeteid, kui teatud tingimused on tÀidetud.
- Sidujas on ââstatsâ valiku toetamiseks rakendatud valikulise argumendi tugi, mille kaudu saab mÀÀrata faili nime, kuhu salvestatakse ressursikasutuse teave sidumise erinevatel etappidel. Faili nime saab samuti mÀÀrata keskkonnamuutujaga LD_STATS. RISC-V sĂŒsteemide jaoks on sidujasse lisatud uus PLT (Procedure Linkage Table) formaatide tugi.
- On sisse viidud mitmeid tÀiustusi, mis on seotud SFrame formaadi toetamisega. SFrame'i funktsioonid on vÀlja tÔstetud versiooniga teegi libsframe.so.2.
- DĂŒnaamilises analĂŒsaatoris ja utiliidis readelf on laiendatud RISC-V arhitektuuri toetust.
Allikas: opennet.ru
