Tíz hónapos fejlesztés után megjelent a Musl 1.2.5 standard C könyvtár kiadása, amely a libc megvalósítását nyújtja, ami asztali PC-ken, szervereken és mobil rendszereken egyaránt felhasználható, ötvözve a szabványok teljeskörű támogatását (mint a Glibc) kicsi mérettel, alacsony erőforrás-felhasználással és magas teljesítménnyel (mint az uClibc, dietlibc és Android Bionic). Támogatja az összes kötelező C99 és POSIX 2008 interfészt, valamint részben a C11-et és egy kiterjesztett készletet a több szálas programozáshoz (POSIX szálak), memóriakezeléshez és lokalizáláshoz. A Musl kódja MIT szabad licenc alatt érhető el.
Főbb változások:
- Hozzáadva a statx() funkció, amely a fstatat64-től eltérő módon egy további flag argumentummal rendelkezik. Ha a kernel nem támogatja a statx rendszerhívást, amely kiterjesztett fájlinformációkat ad vissza, beleértve a fájl létrehozási idejét és a fájlrendszer-specifikus zászlókat, visszavált a fstatat rendszerhívás használatára.
- Hozzáadva a preadv2() és pwritev2() funkciók, amelyek a Linux kernel azonos nevű rendszerhívásainak wrapperjei. Az új funkciók eltérnek a preadv() és pwritev() hívásoktól, mivel egy további argumentummal rendelkeznek, amellyel további zászlókat küldhetünk a kerneltől, mint például RWF_SYNC (az adatok és metainformációk kiürítése a gyorsítótárból a tárolóra a művelet végrehajtása után) és RWF_DSYNC (csak az adatok kényszerített kiürítése a tárolóra).
- Hozzáadva a Loongarch64 és Riscv32 architektúrák támogatása.
- A clone() funkció implementációját használatra alkalmassá tették.
- A statvfs() funkció biztosítja az f_type típusú eredmény visszaadását.
- A Riscv64 rendszerekhez hozzáadva a TLSDESC (Thread-Local Storage Descriptor) mechanizmus támogatása.
- A DNS resolverben megvalósították a hosszú CNAME sorozatok válaszának feldolgozását. Megoldották azt a problémát, amely miatt néhány nagy válasz, amelyet TCP-n keresztül továbbítottak, el lett vetve.
- A mntent interfészekben megvalósult a fájlútvonalak és opciók közötti szóközök escape-elésének támogatása.
- A snprintf és swprintf funkciókban biztosították a helyes kezelést, ha a számok meghaladják az INT_MAX méretet. Javítva lett a printf funkciócsalád standardjának megfelelője.
Forrás: opennet.ru
