Vydání standardní C knihovny Musl 1.2.5

Po 10 měsících vývoje je představeno vydání standardní knihovny C Musl 1.2.5, která poskytuje implementaci libc, která je vhodná pro použití na stolních počítačích a serverech a na mobilních systémech, přičemž 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). K dispozici je podpora všech požadovaných rozhraní C99 a POSIX 2008, částečně i C11 a sady rozšíření pro vícevláknové programování (vlákna POSIX), správu paměti a práci s locales. Kód Musl je poskytován v rámci bezplatné licence MIT.

Hlavní změny:

  • Přidána funkce statx(), která se od fstatat64 liší tím, že má další argument příznaku. Pokud jádro nepodporuje systémové volání statx, které vrací rozšířené informace o souboru, včetně času vytvoření souboru a příznaků specifických pro souborový systém, vrátí se k použití systémového volání fstatat.
  • Přidány funkce preadv2() a pwritev2(), které poskytují obaly pro systémová volání linuxového jádra stejného jména. Nové funkce se liší od preadv() a pwritev() přítomností dalšího argumentu pro předání dalších příznaků jádru, jako je RWF_SYNC (vyprázdnění dat a metadat z mezipaměti na médium po dokončení operace) a RWF_DSYNC ( nucené vyprázdnění pouze dat na médium).
  • Přidána podpora pro architektury Loongarch64 a Riscv32.
  • Implementace funkce clone() byla uvedena do použitelného stavu.
  • Funkce statvfs() zajišťuje, že je vrácen výsledek typu f_type.
  • Pro systémy Riscv64 byla přidána podpora pro mechanismus TLSDESC (Thread-Local Storage Descriptor).
  • DNS resolver implementuje zpracování odpovědí s dlouhými sekvencemi CNAME. Byl vyřešen problém, který způsobil, že některé velké odpovědi odeslané přes TCP byly zahozeny.
  • Rozhraní mntent nyní mají podporu pro escapování mezer v cestách k souborům a možnostech.
  • Snprintf a swprintf poskytují správné řešení situace při zpracování čísel větších než INT_MAX. Vylepšená shoda s rodinou funkcí printf.

Zdroj: opennet.ru

Přidat komentář