Lançamento das bibliotecas C padrão Musl 1.2.3 e PicoLibc 1.7.6

É apresentado o lançamento da biblioteca C padrão Musl 1.2.3, fornecendo uma implementação da libc, que é adequada para uso tanto em PCs desktop e servidores, quanto em sistemas móveis, combinando suporte total para padrões (como no Glibc) com um pequeno tamanho, baixo consumo de recursos e alto desempenho (como em uClibc, dietlibc e Android Bionic). Há suporte para todas as interfaces C99 e POSIX 2008 necessárias, bem como parcialmente C11 e um conjunto de extensões para programação multithread (threads POSIX), gerenciamento de memória e trabalho com localidades. O código Musl é fornecido sob a licença gratuita do MIT.

A nova versão adiciona a função qsort_r, que está prevista para inclusão em um futuro padrão POSIX e é usada para classificar arrays usando funções arbitrárias de comparação de elementos. Para alguns modelos de CPU PowerPC, foi adicionado suporte para SPE FPUs (Signal Processing Engine) alternativos. Foram feitas alterações para melhorar a compatibilidade, como armazenar errno, aceitar ponteiros nulos em gettext e manipular a variável de ambiente TZ. Foram corrigidas alterações regressivas nas funções wcwidth e duplocale, bem como vários erros em funções matemáticas que, em determinadas circunstâncias, levavam ao cálculo de um resultado incorreto (por exemplo, em sistemas sem FPU, fmaf arredondava o resultado incorretamente) .

Além disso, podemos observar o lançamento da biblioteca C padrão PicoLibc 1.7.6, lançada há poucos dias, desenvolvida por Keith Packard (líder do projeto X.Org) para uso em dispositivos embarcados com quantidade limitada de armazenamento permanente e RAM. Durante o desenvolvimento, parte do código foi emprestada da biblioteca newlib do projeto Cygwin e AVR Libc, desenvolvida para microcontroladores Atmel AVR. O código PicoLibc é distribuído sob a licença BSD. A montagem da biblioteca é compatível com as arquiteturas ARM (32 bits), Aarch64, i386, RISC-V, x86_64, m68k e PowerPC. A nova versão implementa o uso de funções matemáticas inline para a arquitetura aarch64 e a capacidade de usar funções matemáticas inline em aplicações nas arquiteturas arm e risc-v.

Fonte: opennet.ru

Adicionar um comentário