đŸ„‡UtgĂ„van av distributionen OpenMandriva Lx 4.1 | ProHoster

Efter sex mÄnaders utveckling publicerades utgÄvan av systembiblioteket GNU C Bibliotek (glibc) 2.31, som helt uppfyller kraven i standarderna ISO C11 och POSIX.1-2008. Den nya versionen inkluderar korrigeringar frÄn 58 utvecklare.

Bland de funktioner som implementerades i Glibc 2.31 kan nÀmnas: Tillagd support för Synopsys ARC HS (ARCv2 ISA) processorer. För porteringen krÀvs minst binutils 2.32, gcc 8.3 och Linux-kÀrna 5.1. Tre varianter av ABI stöds: arc-linux-gnu, arc-linux-gnuhf och arceb-linux-gnu (big-endian);

  • Lades makrot _ISOC2X_SOURCE till för att aktivera funktioner som definieras i utkastet till den framtida ISO-standarden C2X. Dessa funktioner ingĂ„r ocksĂ„ vid anvĂ€ndning av makrot _GNU_SOURCE eller vid kompilering i gcc med flaggan «-std=gnu2x»;
  • För funktioner som definieras i headerfilen «math.h» och som rundar sina resultat till en mindre typ, föreslĂ„s motsvarande generiska makron i filen «tgmath.h», i enlighet med specifikationerna TS 18661-1:2014 och TS 18661-3:2015;
  • En funktion pthread_clockjoin_np() har lagts till, som vĂ€ntar pĂ„ att en trĂ„d ska slutföras med hĂ€nsyn till en timeout (om timeouten intrĂ€ffar innan slutförandet, returnerar funktionen ett fel). Till skillnad frĂ„n pthread_timedjoin_np(), tillĂ„ter pthread_clockjoin_np() att en timer definieras för berĂ€kning av timeout — CLOCK_MONOTONIC (som tar hĂ€nsyn till tid spenderad av systemet i vilolĂ€ge) eller CLOCK_REALTIME;
  • I DNS-upplösaren har stöd för alternativet trust-ad lagts till i /etc/resolv.conf och flaggan RES_TRUSTAD i _res.options, vilket innebĂ€r att DNSSEC-flaggan överförs i DNS-förfrĂ„gningar. AD (autentiserad data). I det hĂ€r lĂ€get blir den AD-flagga som stĂ€lls in av servern tillgĂ€nglig för program som anropar funktioner som liknar res_search(). Som standard, om de föreslagna alternativen inte Ă€r aktiverade, anger glibc inte AD-flaggan i förfrĂ„gningar och rensar den automatiskt i svar, vilket visar pĂ„ avsaknaden av DNSSEC-kontroll;
  • För att bygga fungerande bindningar av systemanrop för Glibc krĂ€vs nu inte lĂ€ngre installation av Linux-kĂ€rnans headerfiler. Undantaget Ă€r 64-bitars arkitektur RISC-V;
  • ÅtgĂ€rdad sĂ„rbarhet CVE-2019-19126, vilken möjliggör ett kringgĂ„ende av skyddet
    ASLR i program med setuid-flaggan och bestÀmma adressernas layout i laddade bibliotek genom manipulation av miljövariabeln LD_PREFER_MAP_32BIT_EXEC.

Ändringar som bryter kompatibilitet:

  • I totalorder(), totalordermag() och liknande funktioner för andra typer med flyttal accepterar man nu pekare som argument för att undvika varningar om typkonvertering av vĂ€rden i tillstĂ„ndet NaN, i enlighet med rekommendationerna i TS 18661-1, föreslagna för den framtida standarden C2X.
    Befintliga körbara filer, dÀr flyttalsargument överförs direkt, kommer att fortsÀtta att fungera utan Àndringar;
  • Den lĂ€nge efterlĂ€ngtade och förĂ„ldrade funktionen stime Ă€r nu inte tillgĂ€nglig för lĂ€nkar med glibc-binarier, och dess definition har tagits bort frĂ„n time.h. För att stĂ€lla in systemtiden bör funktionen clock_settime anvĂ€ndas. I framtiden planeras Ă€ven den förĂ„ldrade funktionen ftime och headerfilen sys/timeb.h att tas bort (istĂ€llet för ftime bör gettimeofday eller clock_gettime anvĂ€ndas);
  • Funktionen gettimeofday överför numera inte uppgifter om systemets tidszon (denna möjlighet var relevant under 4.2-BSD och har lĂ€nge varit förĂ„ldrad). I argumentet 'tzp' bör nu en nullpekare överföras, och för att fĂ„ information om tidszonen kopplad till den aktuella tiden bör funktionen localtime() anvĂ€ndas. Vid anrop av gettimeofday med ett icke-null argument 'tzp' kommer de tomma fĂ€lten tz_minuteswest och tz_dsttime att returneras i timezone-strukturen. SjĂ€lva funktionen gettimeofday anses vara förĂ„ldrad i POSIX (istĂ€llet för gettimeofday rekommenderas att anvĂ€nda clock_gettime), men den planeras inte att tas bort frĂ„n glibc;
  • I settimeofday har stödet för att samtidigt skicka parametrar för att stĂ€lla in tiden och tidsskiftet upphört. Vid anrop av settimeofday mĂ„ste en av argumenten (tid eller skift) nu sĂ€ttas till null; annars kommer anropet att avslutas med felkoden EINVAL. Precis som gettimeofday anses funktionen settimeofday vara förĂ„ldrad i POSIX och istĂ€llet rekommenderas att anvĂ€nda funktionen clock_settime eller funktionen adjtime;
  • Stödet för SPARC ISA v7-arkitekturen har upphört (stödet för v8 Ă€r kvar men endast för processorer som stöder CAS-instruktioner, sĂ„som LEON-processorer, men inte SuperSPARC-processorer).
  • Vid en lĂ€nkfel i 'lazy'-lĂ€ge, dĂ€r lĂ€nkaren inte söker efter funktsymboler förrĂ€n funktionen anropas första gĂ„ngen, kommer funktionen dlopen nu att tvinga processens avslut (tidigare returnerades NULL vid fel);
  • För ABI MIPS hard-float anvĂ€nds nu en exekveringsstack om inget specifikt begrĂ€nsningsval för Linux-kĂ€rna 4.8+ angivits vid kompilering med parametern '—enable-kernel=4.8.0' (med kĂ€rnor innan 4.8 uppstĂ„r fel för vissa MIPS-konfigurationer);
  • Bindningar över systemanrop relaterade till tidsmanipulation har översatts till att anvĂ€nda systemanropet time64, nĂ€r det Ă€r tillgĂ€ngligt (pĂ„ 32-bitars system försöker glibc först anvĂ€nda de nya systemanrop som hanterar 64-bitars tidsdata, och om de inte finns, gĂ„r den tillbaka till de gamla 32-bitars anropen).

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