Lançamento da biblioteca C padrão Musl 1.2.5

Após 10 meses de desenvolvimento, a biblioteca padrão C Musl 1.2.5 foi lançada. Ela fornece uma implementação da libc adequada para PCs desktop, servidores e sistemas móveis. Combina suporte completo aos padrões (como a Glibc) com tamanho reduzido, baixo consumo de recursos e alto desempenho (como a uClibc, dietlibc e Android Bionic). Suporta todas as interfaces C99 e POSIX 2008 necessárias, além de suporte parcial ao C11 e um conjunto de extensões para programação multithread (threads POSIX), gerenciamento de memória e suporte a localidades. A Musl é licenciada sob a licença MIT.

Grandes mudanças:

  • A função statx() foi adicionada. Ela difere de fstatat64 por possuir um argumento de flag adicional. Se o kernel não suportar a chamada de sistema statx, que retorna informações estendidas sobre o arquivo, incluindo a hora de criação do arquivo e flags específicas do sistema de arquivos, a chamada de sistema fstatat será usada em seu lugar.
  • As funções preadv2() e pwritev2() foram adicionadas, fornecendo wrappers para as chamadas de sistema do kernel Linux de mesmo nome. As novas funções diferem de preadv() e pwritev() por possuírem um argumento adicional para passar flags extras para o kernel, como RWF_SYNC (descarregar dados e metadados do cache para o dispositivo de armazenamento após a operação) e RWF_DSYNC (forçar a descarregamento apenas dos dados para o dispositivo de armazenamento).
  • Adicionado suporte para as arquiteturas Loongarch64 e Riscv32.
  • A implementação da função clone() foi levada a um estado utilizável.
  • A função statvfs() garante retornar um resultado do tipo f_type.
  • Para sistemas Riscv64, foi adicionado suporte ao mecanismo TLSDESC (Thread-Local Storage Descriptor).
  • O resolvedor de DNS agora processa respostas com longas sequências CNAME. Um problema que causava o descarte de algumas respostas grandes transmitidas via TCP foi resolvido.
  • As interfaces do mntent agora suportam a quebra de espaços em caminhos de arquivos e opções.
  • As funções snprintf e swprintf agora lidam corretamente com números maiores que INT_MAX. A família de funções printf foi aprimorada para melhor conformidade com o padrão.

Fonte: opennet.ru

Adicionar um comentário