Saatos genep bulan pangwangunan, perpustakaan sistem GNU C Library (glibc) 2.41 parantos dileupaskeun, saluyu sareng standar ISO C11 sareng POSIX.1-2017. 79 pamekar nyandak bagian dina kreasi release anyar.
Sababaraha perbaikan anu dilaksanakeun dina Glibc 2.41 kalebet:
- Pikeun platform Linux, fungsi anyar sched_setattr na sched_getattr geus ditambahkeun, ngaliwatan nu bisa nyetél / maca parameter tina scheduler tugas. Dina prakték, fungsi ngidinan Anjeun pikeun ngonpigurasikeun kawijakan scheduling query, kayaning SCHED_DEADLINE, nu make parameter tambahan salian prioritas.
- Utilitas iconv parantos diropéa pikeun ngadukung konversi encoding di tempat (upami nami file input sareng kaluaran sami, iconv ayeuna otomatis nyiptakeun file samentawis sareng ngagentos file aslina saatos konvérsi réngsé).
- Fungsi trigonometri nu diwanohkeun dina standar C23 (TS 18661-4:2015) geus ditambahkeun kana file lulugu math.h: acospi, asinpi, atan2pi, atanpi, cospi, sinpi, jeung tanpi.
- Versi anu dioptimalkeun sareng dibuleurkeun-leres tina fungsi exp10m1f, exp2m1f, expm1f, log10f, log2p1f, log1pf, log10p1f, cbrtf, erff, erfcf, lgammaf, tgammaf, tanf, acosf, acoshf, atanf, atanf, atanf, atanf, atanf, atanf, atanf, atanf, atanf, atanf proyék CORE-MATH, atanhf, coshf, sinhf na tanhf.
- Ditambahkeun dukungan pikeun ekstensi ARM64 GCS (Guarded Control Stack) pikeun panyalindungan hardware alamat mulang tina fungsi sareng meungpeuk eksploitasi anu ngagunakeun pemrograman berorientasi balik (ROP - Return-Oriented Programming, eksploitasi dibentuk tina potongan-potongan instruksi mesin anu aya ditungtungan ku a instruksi mulang). ARM64 GCS ngamungkinkeun pamakéan téhnologi tumpukan kalangkang ngajaga prosés dina spasi pamaké - sanggeus mindahkeun kontrol ka fungsi hiji, alamat balik disimpen ku processor teu ukur dina tumpukan biasa, tapi ogé dina tumpukan kalangkang misah, nu teu bisa dirobah langsung. . Saméméh kaluar tina fungsi, alamat mulang téh popped ti tumpukan kalangkang jeung dipariksa ngalawan alamat mulang ti tumpukan utama. Ngawangun Glibc kalayan dukungan GCS peryogi sahenteuna binutil 2.44 sareng GCC 15.
- Seueur padamelan parantos dilakukeun pikeun ningkatkeun generasi kode sareng ningkatkeun kinerja fungsi matematika pikeun arsitektur ARM64 / Aarch64. Optimizations ngagunakeun parentah vektor (SVE, Scalable Véktor Extension) jeung ekstensi SIMD (Neon) geus dilaksanakeun.
- Pikeun sistem sareng prosesor ARM64 / Aarch64, dukungan parantos ditambah pikeun mékanisme Memori Protection Keys, anu dianggo pikeun ngawatesan aksés ka halaman mémori tanpa ngarobih tabel halaman mémori.
- Pikeun sistem anu nganggo prosesor PowerPC64, dukungan pikeun petunjuk anu diperpanjang parantos ditambihan pikeun ngajagaan tina panggunaan pemrograman berorientasi balik dina eksploitasi.
- Nambahkeun tipe arsitéktur anyar arch_kind_hygon pikeun prosesor Hygon x86-64 Cina dumasar kana téknologi AMD.
- The glibc test suite geus nyata dimekarkeun, kalawan jumlah tés ngaronjat tina 5408 ka 6232 dibandingkeun release saméméhna.
- Ditambahkeun kamampuan pikeun nguji glibc ngawangun nganggo kompiler C sareng C ++ lian ti anu dianggo pikeun ngawangun saleresna. Contona, 'konpigurasikeun TEST_CC = "gcc-6.4.1" TEST_CXX = "g ++ -6.4.1" 'jeung' ngonpigurasikeun TEST_CC = "clang" TEST_CXX = "clang ++"'.
- Pilihan anu ditetepkeun dina file /etc/resolv.conf sareng variabel lingkungan RES_OPTIONS ayeuna ngadukung panggunaan awalan "-" pikeun mupus pilihan anu parantos disetél sareng nami anu dipasihkeun. Contona, upami file /etc/resolv.conf nangtukeun "pilihan no-aaaa", lajeng dimimitian prosés kalayan variabel lingkungan "RES_OPTIONS = -no-aaaa" bakal ngabuka blokir queries DNS pikeun ménta rékaman AAAA.
- Resolver DNS ayeuna ngadukung pilihan "éta-kasalahan", anu hartosna fungsi getaddrinfo (), upami jinis alamatna henteu dijelaskeun sacara eksplisit (AF_UNSPEC), bakal nyobian nampi nilai catetan A (IPv4) sareng AAAA (IPv6) ti pangladén DNS anu sanés upami pamenta rékaman A atanapi AAAA ka pangladén DNS anu munggaran gagal. Tanpa nangtukeun "kasarat-kasalahan" dina kaayaan kitu, alamat diala salaku hasil tina pamundut hasil diolah bakal balik, sarta nilai pamundut gagal bakal dipaliré. Contona, upami server ngabalikeun rékaman "A" tapi balik kasalahan nalika querying "AAAA", getaddrinfo tanpa pilihan "ketat-kasalahan" bakal langsung balik ngan alamat IPv4, sarta kalawan pilihan "ketat-kasalahan" bakal coba. pikeun nyobaan deui patarosan ka server DNS anu sanés.
- Data encoding, inpormasi jinis karakter, sareng tabel transliterasi parantos diropéa pikeun ngadukung spésifikasi Unicode 16.0.0.
- Ditambahkeun makro "_ISOC2Y_SOURCE" pikeun ngaktipkeun fitur anu ditetepkeun dina draf standar C2Y. Fitur anu sami ogé tiasa diaktipkeun nganggo makro _GNU_SOURCE sareng ngalangkungan bandéra kompiler ("gcc -std = gnu2y").
- Dilaksanakeun toolkit benchtest pikeun nyukcruk kinerja rupa-rupa fungsi (biasana matematik).
- Ditambahkeun setelan glibc.rtld.execstack, ngaliwatan nu eksplisit bisa nganonaktipkeun pamakéan tumpukan laksana.
- Ditambahkeun rojongan pikeun rseq (runtuyan restartable) extensible ABI, nu nyadiakeun mékanisme pikeun palaksanaan atom gancang operasi (lamun operasi ieu interrupted ku thread sejen, kaayaan ieu reset jeung palaksanaan usaha deui). Versi anyar ngenalkeun kamampuan ngagunakeun fitur anu diperpanjang dina rseq anu henteu sayogi dina ABI asli, sapertos identifiers palaksanaan paralel (mm_cid, ID concurrency peta memori) sareng identifiers NUMA node (node_id).
- Palabuhan pikeun sistem ARC big-endian (arceb-linux-gnu) parantos dileungitkeun.
- A kerentanan (CVE-2025-039) geus dibereskeun nu bisa ngakibatkeun hiji mudal panyangga nalika executing negeskeun () fungsi. Ngabahekeun lumangsung nalika nami program (argv[0]) disaluyukeun anu ageung teuing. Masalahna dianggap teu bahaya sabab 4 bait ditulis saluareun panyangga, anu eusina teu tiasa dikontrol ku panyerang. Anu pikaresepeun nyaéta kanyataan yén kerentanan parantos muncul dina fungsi debugging, anu timbul kusabab kasalahan nalika nunjukkeun nami aplikasi ayeuna.
sumber: opennet.ru
