Vydání standardní C knihovny Musl 1.2.6

Po dvou letech vývoje byla vydána standardní knihovna jazyka C Musl 1.2.6, která nabízí implementaci knihovny libc vhodnou pro použití jak na stolních počítačích a serverech, tak i na mobilních systémech. Kombinuje plnou podporu standardů (jako v Glibc) s malou velikostí, nízkou spotřebou zdrojů a vysokým výkonem (jako v uClibc, dietlibc a...). Android Bionic). Podporuje všechna požadovaná rozhraní C99 a POSIX 2008, částečnou podporu C11 a sadu rozšíření pro vícevláknové programování (vlákna POSIX), správu paměti a podporu locale. Kód Musl je vydán pod bezplatnou licencí MIT.

Hlavní změny:

  • Byla implementována funkce posix_getdents, zavedená ve standardu POSIX-2024. Tato funkce čte obsah adresáře přidruženého k otevřenému deskriptoru souboru a umisťuje informace o podadresářích a souborech do struktur posix_dent s možností omezení maximální velikosti.
  • Přidáno konkrétně k Linux Funkce renameat2 umožňuje atomicky nahradit názvy dvou souborů (první soubor je přejmenován na druhý a druhý soubor na první). Nová funkce se od funkce renameat liší přidáním dalšího pole s příznakem: bez tohoto příznaku se funkce renameat2 chová přesně jako funkce renameat a pokud je zadán příznak RENAME_NOREPLACE, operace přejmenování nenahradí existující soubor.
  • Pro systémy Loongarch64 byla přidána podpora mechanismu TLSDESC (Thread-Local Storage Descriptor) pro efektivní přístup k proměnným v úložišti lokálním pro vlákna.
  • Funkce clock_gettime byla optimalizována na architekturách riscv32, riscv64, powerpc, powerpc64 a s390x pomocí vDSO. vDSO (virtuální dynamický sdílený objekt) umožňuje přesunout obslužnou rutinu systémových volání z jádra do uživatelského prostoru, čímž se zabrání přepínání kontextu.
  • Pro detekci možností CPU v běhových kompilátorech byl symbol __getauxval přeložen do veřejného ABI.
  • Byla opravena zranitelnost (CVE-2025-26519), která vedla k přetečení vyrovnávací paměti při převodu speciálně vytvořeného textu z kódování EUC-KR do UTF-8 pomocí funkce iconv(). Zranitelnost byla objevena před více než rokem a byla opravena před vydáním.
  • Vyřešeny problémy s kompatibilitou funkcí initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt a vdso a také hlavičkových souborů sched.h a shadow.h.
  • Vylepšená shoda se specifikací v pwrite (vyřešen problém s O_APPEND), mbnrtowcs (zohledněna shoda s POSIX-2024), strptim (zohledněna shoda s POSIX-2024e) a inet_ntop (dosažena shoda s RFC 5952).

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster