È stato presentato il rilascio della libreria standard C Musl 1.2.3, che fornisce un'implementazione di libc adatta per l'uso sia su PC e server fissi, sia su sistemi mobili, combinando un supporto completo per gli standard (come in Glibc) con dimensioni ridotte, basso consumo di risorse e alte prestazioni (come in uClibc, dietlibc e Android Bionic). È supportato l'intero set di interfacce obbligatorie C99 e POSIX 2008, oltre a un supporto parziale per C11 e un insieme di estensioni per la programmazione multithreading (POSIX threads), gestione della memoria e lavoro con le localizzazioni. Il codice Musl è rilasciato sotto la licenza MIT.
La nuova versione include la funzione qsort_r, prevista per l'inclusione nel futuro standard POSIX e utilizzata per ordinare array impiegando funzioni di comparazione elementari arbitrarie. Per alcuni modelli di CPU PowerPC è stata aggiunta il supporto per FPU SPE alternative (Signal Processing Engine). Sono state apportate modifiche mirate a migliorare la compatibilità, ad esempio riguardanti la conservazione del valore errno, l'accettazione di puntatori nulli in gettext e la gestione della variabile d'ambiente TZ. Sono stati risolti problemi regressivi nelle funzioni wcwidth e duplocale, oltre a diversi errori nelle funzioni matematiche, che in determinate circostanze potevano causare il calcolo di risultati errati (ad esempio, su sistemi privi di FPU, il risultato in fmaf veniva arrotondato erroneamente).
In aggiunta, vale la pena menzionare il rilascio, avvenuto qualche giorno fa, della libreria standard C PicoLibc 1.7.6, sviluppata da Keith Packard (leader del progetto X.Org) per l'utilizzo su dispositivi embedded con capacità di memoria persistente e RAM limitate. Durante lo sviluppo, parte del codice è stata presa dalla libreria newlib del progetto Cygwin e dall'AVR Libc, che era stata sviluppata per i microcontrollori Atmel AVR. Il codice PicoLibc è distribuito sotto licenza BSD. È supportata la compilazione della libreria per le architetture ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k e PowerPC. Nella nuova versione è stata implementata l'uso di funzioni inline matematiche per l'architettura aarch64 e la possibilità di utilizzare funzioni inline matematiche in applicazioni su architetture arm e risc-v.
Fonte: opennet.ru
