Rilis Pustaka Sistem Glibc 2.31

Sawise nem sasi pembangunan diterbitake release perpustakaan sistem Pustaka GNU C (glibc) 2.31, sing tundhuk karo syarat standar ISO C11 lan POSIX.1-2008. Rilis anyar kalebu koreksi saka 58 pangembang.

Saka sing dileksanakake ing Glibc 2.31 dandan sampeyan bisa nyathet:

  • Ditambahake makro _ISOC2X_SOURCE kanggo ngaktifake kapabilitas sing ditetepake ing draf standar ISO ing mangsa ngarep C2X. Fitur kasebut uga diaktifake nalika nggunakake makro _GNU_SOURCE utawa nalika mbangun ing gcc kanthi gendΓ©ra "-std = gnu2x";
  • Kanggo fungsi sing ditetepake ing file header "math.h" sing mbunder asile dadi jinis sing luwih cilik, makro jinis umum sing cocog diusulake ing file "tgmath.h", kaya sing dibutuhake dening spesifikasi TS 18661-1:2014 lan TS. 18661-3: 2015;
  • Added pthread_clockjoin_np () fungsi, sing ngenteni thread rampung, njupuk menyang akun wektu entek (yen wektu entek sadurunge completion, fungsi bakal bali kesalahan). Boten kados pthread_timedjoin_np(), ing pthread_clockjoin_np () bisa nemtokake jinis wektu kanggo ngetung wektu entek - CLOCK_MONOTONIC (njupuk menyang akun wektu ngginakaken sistem ing mode turu) utawa CLOCK_REALTIME;
  • Resolver DNS saiki ndhukung opsi trust-ad ing /etc/resolv.conf lan gendera RES_TRUSTAD ing _res.options, nalika disetel, gendera DNSSEC dikirim ing panjalukan DNS AD (data sing diotentikasi). Ing mode iki, flag AD disetel dening server kasedhiya kanggo aplikasi sing nelpon fungsi kaya res_search (). Kanthi gawan, yen opsi sing disaranake ora disetel, glibc ora nemtokake gendera AD ing panjalukan lan kanthi otomatis mbusak ing respon, nuduhake yen mriksa DNSSEC ilang;
  • Nggawe binding panggilan sistem kerja kanggo Glibc ora mbutuhake nginstal file header kernel Linux. Pangecualian yaiku arsitektur RISC-V 64-bit;
  • diilangi kerentanan CVE-2019-19126, sing ngidini sampeyan ngliwati proteksi
    ASLR ing program kanthi flag setuid lan nemtokake tata letak alamat ing perpustakaan sing dimuat liwat manipulasi variabel lingkungan LD_PREFER_MAP_32BIT_EXEC.

Owah-owahan sing ngrusak kompatibilitas:

  • totalorder (), totalordermag (), lan fungsi sing padha kanggo jinis floating-point liyane saiki nampa penunjuk minangka argumen kanggo ngilangi bebaya babagan ngowahi nilai ing negara. NaN, sesuai karo rekomendasi TS 18661-1 sing diusulake kanggo standar C2X ing mangsa ngarep.
    Eksekusi sing ana sing ngliwati argumen floating point langsung bakal terus mlaku tanpa modifikasi;

  • Fungsi stime sing wis suwe wis ora kasedhiya maneh kanggo binari sing digandhengake karo glibc, lan definisie wis dibusak saka time.h. Kanggo nyetel wektu sistem, gunakake fungsi clock_settime. Ing mangsa ngarep, kita ngrancang mbusak fungsi ftime sing ora digunakake, uga file header sys/timeb.h (gettimeofday utawa clock_gettime kudu digunakake tinimbang ftime);
  • Fungsi gettimeofday ora menehi informasi maneh babagan zona wektu ing saindenging sistem (fitur iki relevan ing jaman 4.2-BSD lan wis ora digunakake nganti pirang-pirang taun). Argumentasi 'tzp' saiki kudu dilewati null pointer, lan fungsi localtime () kudu digunakake kanggo njupuk informasi zona wektu adhedhasar wektu saiki. Nelpon gettimeofday kanthi argumen 'tzp' non-nol bakal ngasilake kolom tz_minuteswest lan tz_dsttime kosong ing struktur zona wektu. Fungsi gettimeofday dhewe ora digunakake ing POSIX (clock_gettime dianjurake tinimbang gettimeofday), nanging ora ana rencana kanggo mbusak saka glibc;
  • settimeofday ora ndhukung liwat paramΓ¨ter simultaneous kanggo nyetel wektu lan ngimbangi wektu-mbenerake. Nalika nelpon settimeofday, salah siji argumen (wektu utawa offset) saiki kudu disetel dadi null, yen ora, telpon fungsi bakal gagal karo kesalahan EINVAL. Kaya gettimeofday, fungsi settimeofday ora digunakake ing POSIX lan dianjurake kanggo diganti karo fungsi clock_settime utawa kulawarga adjtime fungsi;
  • Dhukungan kanggo arsitektur SPARC ISA v7 wis mandheg (dhukungan v8 ditahan saiki, nanging mung kanggo prosesor sing ndhukung instruksi CAS, kayata prosesor LEON, dudu prosesor SuperSPARC).
  • Yen pasangan gagal ing "puguh", sing linker ora nelusuri simbol saka fungsi nganti telpon pisanan kanggo fungsi sing, fungsi dlopen saiki meksa proses kanggo siksa (sadurunge bali NULL ing Gagal);
  • Kanggo MIPS hard-float ABI, tumpukan eksekusi saiki digunakake, kajaba mbangun kasebut kanthi tegas mbatesi panggunaan kernel Linux 4.8+ liwat parameter "-enable-kernel=4.8.0" (karo kernel nganti 4.8, kacilakan diamati kanggo sawetara konfigurasi MIPS);
  • Ikatan ing sekitar panggilan sistem sing ana gandhengane karo manipulasi wektu wis dipindhah kanggo nggunakake panggilan sistem time64, yen ana (ing sistem 32-bit, glibc pisanan nyoba telpon sistem anyar sing ngapusi jinis wektu 64-bit, lan yen ora ana, tiba. bali menyang telpon lawas 32-bit).

Source: opennet.ru

Add a comment