Vydání standardních C knihoven Musl 1.2.3 a PicoLibc 1.7.6

Je představeno vydání standardní knihovny C Musl 1.2.3, poskytující implementaci libc, která je vhodná pro použití na stolních počítačích a serverech a na mobilních systémech, kombinující plnou podporu standardů (jako v Glibc) s malým velikost, nízká spotřeba zdrojů a vysoký výkon (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.

Nová verze přidává funkci qsort_r, která má být zahrnuta do budoucího standardu POSIX a používá se k třídění polí pomocí funkcí porovnávání libovolných prvků. U některých modelů CPU PowerPC byla přidána podpora alternativních SPE FPU (Signal Processing Engine). Byly provedeny změny pro zlepšení kompatibility, jako je ukládání errno, přijímání nulových ukazatelů v gettextu a zpracování proměnné prostředí TZ. Byly opraveny regresivní změny ve funkcích wcwidth a duplocale a také několik chyb v matematických funkcích, které za určitých okolností vedly k nesprávnému výpočtu (například na systémech bez FPU fmaf nesprávně zaokrouhluje výsledek) .

Kromě toho si můžeme všimnout vydání standardní knihovny C PicoLibc 1.7.6, vydané před několika dny, vyvinuté Keithem Packardem (vedoucí projektu X.Org) pro použití na vestavěných zařízeních s omezeným množstvím trvalé paměti a RAM. Během vývoje byla část kódu vypůjčena z knihovny newlib z projektu Cygwin a AVR Libc, vyvinutého pro mikrokontroléry Atmel AVR. Kód PicoLibc je distribuován pod licencí BSD. Sestavení knihovny je podporováno pro architektury ARM (32bitové), Aarch64, i386, RISC-V, x86_64, m68k a PowerPC. Nová verze implementuje použití matematických inline funkcí pro architekturu aarch64 a možnost používat matematické inline funkce v aplikacích na architektuře arm a risc-v.

Zdroj: opennet.ru

Přidat komentář