Glibc 2.31 System Perpustakaan Release

Sanggeus genep bulan pangwangunan diterbitkeun release perpustakaan Sistim Perpustakaan GNU C (glibc) 2.31, nu pinuh sasuai jeung sarat standar ISO C11 na POSIX.1-2008. Pelepasan énggal kalebet perbaikan tina 58 pamekar.

Ti anu dilaksanakeun dina Glibc 2.31 perbaikan anjeun tiasa nyatet:

  • Ditambahkeun _ISOC2X_SOURCE makro pikeun ngaktipkeun kamampuan anu ditetepkeun dina draf standar ISO ka hareup C2X. Fitur ieu ogé diaktipkeun nalika nganggo makro _GNU_SOURCE atanapi nalika ngawangun di gcc nganggo bandéra "-std = gnu2x";
  • Pikeun fungsi anu ditetepkeun dina file lulugu "math.h" anu ngabuleurkeun hasilna kana jinis anu langkung alit, makro jinis generik anu cocog diusulkeun dina file "tgmath.h", sakumaha anu diperyogikeun ku spésifikasi TS 18661-1:2014 sareng TS. 18661-3: 2015;
  • Ditambahkeun pthread_clockjoin_np () fungsi, nu ngantosan thread pikeun ngalengkepan, nyokot kana akun timeout (lamun timeout lumangsung saméméh parantosan, fungsi bakal balik kasalahan). Beda jeung pthread_timedjoin_np(), dina pthread_clockjoin_np () kasebut nyaéta dimungkinkeun pikeun nangtukeun jenis timer keur ngitung timeout - CLOCK_MONOTONIC (nyandak kana akun waktos spent ku sistem dina mode sare) atanapi CLOCK_REALTIME;
  • Resolver DNS ayeuna ngadukung pilihan trust-ad di /etc/resolv.conf sareng bandéra RES_TRUSTAD di _res.options, nalika disetel, bandéra DNSSEC dikirimkeun dina pamundut DNS. AD (data dioténtikasi). Dina modeu ieu, bendera AD diatur ku server sadia pikeun aplikasi nu nelepon fungsi kawas res_search (). Sacara standar, upami pilihan anu disarankeun henteu disetél, glibc henteu netepkeun bandéra AD dina pamundut sareng otomatis ngahapus dina réspon, nunjukkeun yén cék DNSSEC leungit;
  • Ngawangun beungkeutan panggero sistem kerja pikeun Glibc henteu peryogi deui masang file lulugu kernel Linux. Pangecualian nyaéta arsitéktur RISC-V 64-bit;
  • Ngaleungitkeun karentanan CVE-2019-19126, nu ngidinan Anjeun pikeun bypass panyalindungan
    ASLR dina program kalawan bandéra setuid sarta nangtukeun tata perenah alamat di perpustakaan dimuat ngaliwatan manipulasi variabel lingkungan LD_PREFER_MAP_32BIT_EXEC.

Parobahan nu megatkeun kasaluyuan:

  • totalorder (), totalordermag (), sarta fungsi sarupa pikeun tipe floating-point sejen ayeuna narima pointers salaku argumen pikeun ngaleungitkeun warnings ngeunaan ngarobah nilai dina kaayaan. NaN, luyu jeung saran ti TS 18661-1 diajukeun pikeun standar C2X hareup.
    Eksekusi anu aya anu langsung ngalangkungan argumen floating point bakal terus dijalankeun tanpa modifikasi;

  • Fungsi stime lila-deprecated geus euweuh sadia pikeun binaries glibc-numbu, sarta harti na geus dihapus tina time.h. Pikeun nyetel waktos sistem, paké pungsi clock_settime. Dina mangsa nu bakal datang, urang rencanana ngaleupaskeun fungsi ftime deprecated, kitu ogé file lulugu sys / timeb.h (gettimeofday atanapi clock_gettime kudu dipake tinimbang ftime);
  • Fungsi gettimeofday henteu deui ngirimkeun inpormasi ngeunaan zona waktos di sakumna sistem (fitur ieu relevan dina jaman 4.2-BSD sareng parantos dileungitkeun mangtaun-taun). Argumen 'tzp' ayeuna kedah dipasihan pointer null, sareng fungsi localtime () kedah dianggo pikeun kéngingkeun inpormasi zona waktos dumasar kana waktos ayeuna. Nelepon gettimeofday kalawan argumen non-enol 'tzp' bakal balik widang kosong tz_minuteswest na tz_dsttime dina struktur timezone. Fungsi gettimeofday sorangan deprecated handapeun POSIX (clock_gettime dianjurkeun tinimbang gettimeofday), tapi euweuh rencana pikeun nyabut eta tina glibc;
  • settimeofday henteu deui ngadukung ngaliwat parameter sakaligus pikeun netepkeun waktos sareng offset koréksi waktos. Nalika nelepon settimeofday, salah sahiji argumen (waktu atawa offset) ayeuna kudu disetel ka null, disebutkeun fungsi panggero bakal gagal jeung kasalahan EINVAL. Sapertos gettimeofday, fungsi settimeofday dileungitkeun dina POSIX sareng disarankeun pikeun diganti ku fungsi clock_settime atanapi kulawarga adjtime fungsi;
  • Rojongan pikeun arsitéktur SPARC ISA v7 geus dieureunkeun (rojongan v8 dipikagaduh pikeun ayeuna, tapi ngan pikeun prosesor nu ngarojong parentah CAS, kayaning prosesor LEON, teu prosesor SuperSPARC).
  • Upami pasangan gagal dina"kedul", nu linker nu teu neangan simbol hiji fungsi nepi ka panggero munggaran kana fungsi éta, fungsi dlopen ayeuna maksakeun prosés pikeun nungtungan (saméméhna balik NULL on gagal);
  • Pikeun MIPS hard-float ABI, tumpukan anu tiasa dieksekusi ayeuna dianggo, iwal wangunan sacara eksplisit ngabatesan panggunaan kernel Linux 4.8+ liwat parameter "-enable-kernel = 4.8.0" (kalayan kernel dugi ka 4.8, ngadat aya. dititénan pikeun sababaraha konfigurasi MIPS);
  • The bindings sabudeureun panggero sistem patali manipulasi waktos geus dipindahkeun ka make panggero sistem time64, lamun aya (dina sistem 32-bit, glibc munggaran nyobian nelepon sistem anyar nu ngamanipulasi tipe waktos 64-bit, sarta lamun euweuh, ragrag. balik deui ka nu heubeul 32-bit panggero).

sumber: opennet.ru

Tambahkeun komentar