Rilaxx tal-Librerija tas-Sistema Glibc 2.31

Wara sitt xhur ta 'żvilupp ippubblikat rilaxx tal-librerija tas-sistema Librerija GNU C (glibc) 2.31, li tikkonforma bis-sħiħ mar-rekwiżiti tal-istandards ISO C11 u POSIX.1-2008. Ir-rilaxx il-ġdid jinkludi soluzzjonijiet minn 58 żviluppatur.

Minn dawk implimentati fi Glibc 2.31 titjib tista 'tinnota:

  • Miżjud makro _ISOC2X_SOURCE biex jippermetti kapaċitajiet definiti fl-abbozz tal-istandard ISO futur C2X. Dawn il-karatteristiċi huma wkoll attivati ​​meta tuża l-makro _GNU_SOURCE jew meta tibni f'gcc bil-bandiera “-std=gnu2x”;
  • Għal funzjonijiet definiti fil-fajl header "math.h" li jqarrbu r-riżultati tagħhom għal tip iżgħar, il-macros tat-tip ġeneriku korrispondenti huma proposti fil-fajl "tgmath.h", kif meħtieġ mill-ispeċifikazzjonijiet TS 18661-1:2014 u TS 18661-3: 2015;
  • Miżjud il-funzjoni pthread_clockjoin_np(), li tistenna li l-ħajta titlesta, b'kont meħud tal-timeout (jekk il-timeout iseħħ qabel it-tlestija, il-funzjoni se terġa 'lura żball). B'differenza pthread_timedjoin_np(), f'pthread_clockjoin_np() huwa possibbli li jiġi definit it-tip ta 'timer għall-kalkolu tal-timeout - CLOCK_MONOTONIC (jikkunsidra l-ħin mqatta' mis-sistema fil-modalità sleep) jew CLOCK_REALTIME;
  • Is-solvent tad-DNS issa jappoġġja l-għażla trust-ad f'/etc/resolv.conf u l-bandiera RES_TRUSTAD f'_res.options, meta ssettjata, il-bandiera DNSSEC tiġi trażmessa f'talbiet DNS AD (dejta awtentikata). F'dan il-mod, il-bandiera AD stabbilita mis-server issir disponibbli għal applikazzjonijiet li jsejħu funzjonijiet bħal res_search(). B'mod awtomatiku, jekk l-għażliet suġġeriti ma jiġux issettjati, glibc ma jispeċifikax il-marka AD fit-talbiet u awtomatikament ikklerjaha fit-tweġibiet, u jindika li l-kontrolli DNSSEC huma neqsin;
  • Il-bini ta' rbit tas-sejħiet tas-sistema tax-xogħol għal Glibc m'għadux jeħtieġ l-installazzjoni tal-fajls tal-header tal-kernel Linux. L-eċċezzjoni hija l-arkitettura RISC-V 64-bit;
  • Eliminati vulnerabbiltà CVE-2019-19126, li jippermettilek tevita l-protezzjoni
    ASLR fi programmi bil-bandiera setuid u tiddetermina t-tqassim tal-indirizz fil-libreriji mgħobbija permezz tal-manipulazzjoni tal-varjabbli ambjentali LD_PREFER_MAP_32BIT_EXEC.

Bidliet li jiksru l-kompatibilità:

  • totalorder(), totalordermag(), u funzjonijiet simili għal tipi oħra ta' punt li jvarja issa jaċċettaw pointers bħala argumenti biex jeliminaw it-twissijiet dwar il-konverżjoni tal-valuri fl-istat NaN, skont ir-rakkomandazzjonijiet ta 'TS 18661-1 proposti għall-istandard C2X futur.
    Esegwibbli eżistenti li jgħaddu argumenti floating point direttament se jkomplu jaħdmu mingħajr modifika;

  • Il-funzjoni stime li ilha deprecata m'għadhiex disponibbli għal binarji marbuta mal-glibc, u d-definizzjoni tagħha tneħħiet minn time.h. Biex tissettja l-ħin tas-sistema, uża l-funzjoni clock_settime. Fil-futur, qed nippjanaw li nneħħu l-funzjoni ftime deprecata, kif ukoll il-fajl header sys/timeb.h (għandu jintuża gettimeofday jew clock_gettime minflok ftime);
  • Il-funzjoni gettimeofday m'għadhiex tgħaddi informazzjoni dwar iż-żona tal-ħin tas-sistema kollha (din il-karatteristika kienet rilevanti fil-jiem ta '4.2-BSD u ilha deprecata għal ħafna snin). L-argument 'tzp' issa għandu jiġi mgħoddi pointer null, u l-funzjoni localtime() għandha tintuża biex tinkiseb informazzjoni dwar iż-żona tal-ħin ibbażata fuq il-ħin kurrenti. Is-sejħa gettimeofday b'argument 'tzp' mhux żero ser jirritorna l-oqsma vojta tz_minuteswest u tz_dsttime fl-istruttura taż-żona tal-ħin. Il-funzjoni gettimeofday nnifisha hija deprecata taħt POSIX (clock_gettime huwa rakkomandat minflok gettimeofday), iżda m'hemm l-ebda pjanijiet biex titneħħa mill-glibc;
  • settimeofday m'għadux jappoġġja l-mogħdija simultanja ta' parametri għall-issettjar tal-ħin u l-offset li jikkoreġi l-ħin. Meta ssejjaħ settimeofday, wieħed mill-argumenti (ħin jew offset) issa għandu jkun issettjat għal null, inkella s-sejħa tal-funzjoni se tfalli bi żball EINVAL. Bħal gettimeofday, il-funzjoni settimeofday hija deprecata minn POSIX u huwa rakkomandat li tiġi sostitwita bil-funzjoni clock_settime jew il-familja ta 'funzjonijiet adjtime;
  • L-appoġġ għall-arkitettura SPARC ISA v7 twaqqaf (l-appoġġ v8 jinżamm għalissa, iżda biss għal proċessuri li jappoġġaw struzzjonijiet CAS, bħal proċessuri LEON, mhux proċessuri SuperSPARC).
  • Jekk it-tqabbil ifalli fi "għażżien", li fiha l-linker ma jfittexx simboli ta' funzjoni qabel l-ewwel sejħa għal dik il-funzjoni, il-funzjoni dlopen issa ġġiegħel il-proċess jintemm (qabel kien jirritorna NULL mal-falliment);
  • Għall-MIPS hard-float ABI, issa tintuża l-munzell eżekutibbli, sakemm il-bini ma jirrestrinġix b'mod espliċitu l-użu tal-kernel Linux 4.8+ permezz tal-parametru “-enable-kernel=4.8.0” (bil-kernels sa 4.8, il-ħbit huma osservati għal xi konfigurazzjonijiet MIPS);
  • L-irbit madwar is-sejħiet tas-sistema relatati mal-manipulazzjoni tal-ħin ġew imċaqalqa biex jużaw is-sejħa tas-sistema time64, jekk preżenti (fuq sistemi ta’ 32 bit, il-glibc l-ewwel jipprova sejħiet ta’ sistema ġodda li jimmanipulaw it-tip ta’ ħin ta’ 64 bit, u jekk ma jkunx hemm, jaqa’ lura għall-qodma sejħiet 32-bit).

Sors: opennet.ru

Żid kumment