Utgivning av systembiblioteket Glibc 2.42 och uppsÀttningen GNU Binutils 2.45

Efter sex mÄnaders utveckling har den systembibliotek GNU C Library 2.42 (glibc) slÀppts, som helt följer kraven i standarderna ISO C23 och POSIX.1-2024. 70 utvecklare deltog i skapandet av den nya versionen.

Bland de förbÀttringar som implementerats i Glibc 2.42 kan nÀmnas:

  • Funktion pthread_create har fĂ„tt stöd för lĂ€tta skyddssidor för stacken (stack guard page), vars Ă„tkomst utlöser ett undantag och en krasch i processen (SIGSEGV). Implementeringen bygger pĂ„ flaggan MADV_GUARD_INSTALL som introducerades i systemanropet madvise, och som stöds frĂ„n och med Linux-kĂ€rnan 6.13. JĂ€mfört med mappning i PROT_NONE-lĂ€ge möjliggör skyddssidor en mer effektiv blockering av kodens exekvering utanför det tilldelade minnesomrĂ„det, eftersom deras skapande inte krĂ€ver allokering av ett nytt omrĂ„de av virtuell minne.
  • Nya funktioner för exponentiering och rotberĂ€kning compoundn, pown och powr, rootn och rsqrt, som definieras i standarden ISO C23, har lagts till och Ă„terspeglas i headerfilen math.h. Varianter av funktionerna har implementerats för typerna float, double, long double, _FloatN och _FloatNx, samt för den generiska typen frĂ„n tgmath.h.
  • Funktionen pthread_gettid_np har implementerats pĂ„ Linux-plattformen, som likt funktionen gettid() returnerar ett unikt identifierare för trĂ„den, men skiljer sig med utökat felkontroll (vid osĂ€ker beteende avslutas processen).
  • Funktioner för att berĂ€kna absoluta vĂ€rden har lagts till och arbetar med osignerade typer: uabs, ulabs, ullabs och uimaxabs. Dessa funktioner kommer att ingĂ„ i den framtida C-standarden.
  • Det har lagts till stöd för godtyckliga överföringshastigheter i programmeringsgrĂ€nssnittet termios.h pĂ„ Linux-plattformen. Typen speed_t har omdefinierats och motsvarar nu typen 'unsigned int', precis som i Linux-kĂ€rnan.
  • I trĂ„dspecifik cache (tcache) som anvĂ€nds i funktionen malloc har stöd för caching av stora minnesblock lagts till. Den maximala blockstorleken kan omdefinieras via instĂ€llningen glibc.malloc.tcache_max, som kan ta vĂ€rden upp till 4194304. Cachearbetet för smĂ„ block har ocksĂ„ pĂ„skyndats.
  • Alternativet '--enable-sframe' har lagts till i byggscriptet configure, vilket aktiverar stöd för SFrame-formatet, som anvĂ€nds för att presentera information om stackrutning och som stöds av funktionen backtrace. För att anvĂ€nda SFrame krĂ€vs minst versionen binutils 2.45.
  • FrĂ„n projektet CORE-MATH har optimerade varianter av matematiska funktioner acospif, asinpif, atanpif, atan2pif, cospif, sinpif och tanpif överförts.
  • TestuppsĂ€ttningen har utvidgats avsevĂ€rt och tĂ€cker nu funktionaliteter hos olika varianter av printf- och scanf-familjerna.
  • Kod har lagts till för att identifiera Intel-processorer baserade pĂ„ mikroarkitekturerna Arrow Lake, Panther Lake, Clearwater Forest och Diamond Rapids.
  • Stöd för plattformen z17 (den nya generationens IBM Z/S390-mainframes) har lagts till.
  • InstĂ€llningen glibc.rtld.execstack har lagts till stöd för kompatibilitetslĂ€ge för program som krĂ€ver exekverbar stack via dynamiskt laddade bibliotek.
  • Headerfilen termio.h och definitionen av strukturen termio har tagits bort frĂ„n sys/ioctl.h. GrĂ€nssnittet termio.h har varit förĂ„ldrat sedan POSIX.1 (1988) och ersatts med termios.h.
  • För att bygga Glibc krĂ€vs nu minst versionerna GCC 12.1 och GNU Binutils 2.39.
  • SĂ„rbarheter Ă„tgĂ€rdade:
    • CVE-2025-0395 — buffertöverskridning vid utförandet av funktionen assert(). Överskridningen intrĂ€ffar nĂ€r ett för stort programnamn (argv[0]) anges. Problemet betraktas som icke-farligt, eftersom 4 byte skrivs utanför bufferten, vars innehĂ„ll inte kan kontrolleras av en angripare. Det intressanta hĂ€r Ă€r faktumet av att en sĂ„rbarhet uppstĂ„r i felsökningsfunktioner pĂ„ grund av ett fel vid utmatning av det aktuella programmets namn.
    • CVE-2025-5702, CVE-2025-5745 — sĂ„rbarheter i implementeringen av funktionerna strcmp och strncmp för Power10-processorer, vilket leder till krasch vid sparande och Ă„terstĂ€llande av vektorregerna v20-v31, som ska sparas mellan funktionsanrop. SĂ„rbarheten kan anvĂ€ndas för att skriva över eller bestĂ€mma innehĂ„llet i registerdata, som anvĂ€nds av andra funktioner.
    • CVE-2025-8058 — en sĂ„rbarhet i funktionen regcomp, vilket leder till dubbel frigöring av minnet (double-free).

Det kan ocksÄ noteras att en uppsÀttning systemverktyg, GNU Binutils 2.45, har slÀppts, som inkluderar program som GNU linker, GNU assembler, nm, objdump, strings, strip.

I den nya versionen av Binutils:

  • I GNU assembler:
    • Stöd för de senaste tillĂ€ggen för arkitekturerna RISC-V, LoongArch och AArch64 har lagts till. För x86 har stöd för instruktionerna XMODX, implementerade i Zhaoxin PadLock-processorer, lagts till. För RISC-V har stöd för instruktionerna 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 och xmipslsp v1.0 har lagts till.
    • Data generation compatibility in SFrame format with the SFrame V2 specification has been ensured. Support for generating stack trace information (.sframe) from CFI directives on 64-bit s390 systems (s390x) has been added.
    • Support for the .errif and .warnif directives has been added for outputting diagnostic messages when certain conditions are triggered.
  • In the linker, support for an optional argument in the "--stats" option has been implemented, allowing the specification of a filename for saving resource consumption information at different stages of linking. The filename can also be specified via the LD_STATS environment variable. Support for new PLT (Procedure Linkage Table) formats has been added to the linker for RISC-V systems.
  • Various improvements related to SFrame format support have been made. Functions for working with SFrame have been moved to the versioned library libsframe.so.2.
  • Support for the RISC-V architecture has been expanded in the disassembler and the readelf utility.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster