A fost prezentată lansarea bibliotecii standard C Musl 1.2.3, care oferă o implementare a libc, potrivită pentru utilizare atât pe PC-uri desktop și servere, cât și pe sisteme mobile, combinând suportul complet pentru standarde (ca în Glibc) cu dimensiuni reduse, consum redus de resurse și performanță ridicată (ca în uClibc, dietlibc și Android Bionic). Acesta suportă toate interfețele C99 și POSIX 2008 necesare, precum și suport parțial pentru C11 și un set de extensii pentru programare multithreaded (thread-uri POSIX), gestionarea memoriei și suport pentru setări regionale. Codul Musl este lansat sub licența gratuită MIT.
Noua versiune adaugă funcția qsort_r, care este programată pentru a fi inclusă într-un viitor standard POSIX și este folosită pentru a sorta matrice folosind funcții de comparare a elementelor arbitrare. Pentru unele modele de procesoare PowerPC, a fost adăugat suport pentru FPU-uri SPE alternative (Signal Processing Engine). Au fost făcute modificări pentru a îmbunătăți compatibilitatea, cum ar fi stocarea errno, acceptarea de pointeri nul în gettext și gestionarea variabilei de mediu TZ. Au fost remediate modificări regresive ale funcțiilor wcwidth și duplocale, precum și mai multe erori în funcțiile matematice care, în anumite circumstanțe, au condus la calcularea unui rezultat incorect (de exemplu, pe sistemele fără FPU, fmaf a rotunjit rezultatul incorect) .
În plus, putem observa lansarea bibliotecii standard C PicoLibc 1.7.6, lansată în urmă cu câteva zile, dezvoltată de Keith Packard (lider de proiect X.Org) pentru utilizare pe dispozitive încorporate cu o cantitate limitată de stocare permanentă și RAM. În timpul dezvoltării, o parte a codului a fost împrumutat din biblioteca newlib din proiectul Cygwin și AVR Libc, dezvoltat pentru microcontrolere Atmel AVR. Codul PicoLibc este distribuit sub licența BSD. Asamblarea bibliotecii este acceptată pentru arhitecturile ARM (32 de biți), Aarch64, i386, RISC-V, x86_64, m68k și PowerPC. Noua versiune implementează utilizarea funcțiilor matematice inline pentru arhitectura aarch64 și capacitatea de a utiliza funcții matematice inline în aplicații pe arhitecturile arm și risc-v.
Sursa: opennet.ru
