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
