Rilascio delle librerie C standard Musl 1.2.3 e PicoLibc 1.7.6

Viene presentata la versione della libreria C standard Musl 1.2.3, che fornisce un'implementazione di libc, che è adatta per l'uso sia su PC desktop e server, sia su sistemi mobili, combinando il pieno supporto per gli standard (come in Glibc) con un piccolo dimensioni, basso consumo di risorse e prestazioni elevate (come in uClibc, dietlibc e Android Bionic). È disponibile il supporto per tutte le interfacce C99 e POSIX 2008 richieste, nonché parzialmente C11 e una serie di estensioni per la programmazione multi-thread (thread POSIX), la gestione della memoria e il lavoro con le impostazioni locali. Il codice Musl è fornito con licenza MIT gratuita.

La nuova versione aggiunge la funzione qsort_r, che è prevista per l'inclusione in un futuro standard POSIX e viene utilizzata per ordinare gli array utilizzando funzioni di confronto di elementi arbitrari. Per alcuni modelli di CPU PowerPC è stato aggiunto il supporto per FPU SPE (Signal Processing Engine) alternativi. Sono state apportate modifiche per migliorare la compatibilità, come la memorizzazione di errno, l'accettazione di puntatori null in gettext e la gestione della variabile di ambiente TZ. Sono stati corretti i cambiamenti regressivi nelle funzioni wcwidth e duplocale, così come diversi errori nelle funzioni matematiche che, in determinate circostanze, portavano al calcolo di un risultato errato (ad esempio, su sistemi senza FPU, fmaf arrotondava il risultato in modo errato) .

Da segnalare inoltre il rilascio della libreria standard C PicoLibc 1.7.6, rilasciata pochi giorni fa, sviluppata da Keith Packard (responsabile del progetto X.Org) per l'utilizzo su dispositivi embedded con una quantità limitata di memoria permanente e RAM. Durante lo sviluppo, parte del codice è stata presa in prestito dalla libreria newlib del progetto Cygwin e AVR Libc, sviluppata per i microcontrollori Atmel AVR. Il codice PicoLibc è distribuito sotto la licenza BSD. L'assembly della libreria è supportato per le architetture ARM (32 bit), Aarch64, i386, RISC-V, x86_64, m68k e PowerPC. La nuova versione implementa l'uso di funzioni matematiche in linea per l'architettura aarch64 e la possibilità di utilizzare funzioni matematiche in linea nelle applicazioni sulle architetture arm e risc-v.

Fonte: opennet.ru

Aggiungi un commento