Vydání standardní C-knihovny Musl 1.2.6

Po dvou letech vývoje byl uveden do provozu standardní C knihovna Musl 1.2.6, která poskytuje implementaci libc vhodnou pro použití na stacionárních PC i serverech, stejně jako na mobilních systémech, a to s plnou podporou standardů (jako v Glibc) a zároveň s malou velikostí, nízkou spotřebou zdrojů a vysokým výkonem (jak v uClibc, dietlibc a Android Bionic). Existuje podpora všech povinných rozhraní C99 a POSIX 2008, částečně C11 a sada rozšíření pro vícethreadové programování (POSIX threads), správu paměti a práci s lokalizacemi. Kód Musl je poskytován pod svobodnou licencí MIT.

Hlavní změny:

  • Byla implementována funkce posix_getdents, která se objevila ve standardu POSIX-2024. Tato funkce čte obsah adresáře spojeného s otevřeným deskriptorem souboru a ukládá informace o podadresářích a souborech do struktur posix_dent s možností omezení maximální velikosti.
  • Byla přidána specifická funkce pro Linux renameat2, která poskytuje prostředky pro atomickou výměnu jmen dvou souborů (první soubor se přejmenuje na druhý a druhý na první). Funkce renameat2 se od renameat liší tím, že obsahuje další pole pro flag — pokud není flag nastaven, chování renameat2 je zcela analogické renameat, a pokud je uveden flag RENAME_NOREPLACE, operace přejmenování nezpůsobí výměnu již existujícího souboru.
  • Pro systémy Loongarch64 byla přidána podpora mechanismu TLSDESC (Thread-Local Storage Descriptor) pro efektivní přístup k proměnným v místním úložišti vlákna.
  • Pomocí vDSO byla optimalizována funkce clock_gettime na architekturách riscv32, riscv64, powerpc, powerpc64 a s390x. vDSO (virtuální dynamický sdílený objekt) umožňuje přesunout zpracovatele systémového volání z jádra do uživatelského prostoru, čímž se vyhýbá přepínání kontextu.
  • Pro určení možností CPU během runtime kompilátorů byl symbol __getauxval převeden do veřejného ABI.
  • Byla odstraněna zranitelnost (CVE-2025-26519), která způsobovala přetečení bufferu při konverzi specificky formátovaného textu z kódování EUC-KR do UTF-8 pomocí funkce iconv(). Tato zranitelnost byla identifikována již před více než rokem a byla odstraněna instalací opravy před vydáním.
  • Byly vyřešeny problémy s kompatibilitou ve funkcích initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt a vdso, stejně jako v hlavičkových souborech sched.h a shadow.h.
  • Zlepšena shoda se specifikacemi ve funkcích pwrite (vyřešen problém s O_APPEND), mbnrtowcs (zohledněny požadavky POSIX-2024), strptim (zohledněny požadavky POSIX-2024e), inet_ntop (zajištěna shoda s RFC 5952).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster