Pubblicata la libreria standard C Musl 1.2.5

Dopo 10 mesi di sviluppo, è stato rilasciato Musl 1.2.5, una libreria standard C che fornisce un'implementazione di libc adatta sia per PC fissi e server che per sistemi mobili, combinando un supporto completo degli standard (come in Glibc) con dimensioni ridotte, basso consumo di risorse e alta performance (come in uClibc, dietlibc e Android Bionic). Supporta tutte le interfacce obbligatorie di C99 e POSIX 2008, oltre a un supporto parziale per C11 e un insieme di estensioni per programmazione multithreading (thread POSIX), gestione della memoria e lavoro con le localizzazioni. Il codice Musl è distribuito con licenza MIT.

Principali modifiche:

  • È stata aggiunta la funzione statx(), che si differenzia da fstatat64 per la presenza di un argomento di flag aggiuntivo. Nel caso in cui il kernel non supporti la chiamata di sistema statx, che restituisce informazioni dettagliate sul file, inclusi il tempo di creazione del file e flag specifici per i filesystem, si torna a utilizzare la chiamata di sistema fstatat.
  • Sono state aggiunte le funzioni preadv2() e pwritev2(), che forniscono un'interfaccia sopra i corrispondenti chiamate di sistema del kernel Linux. Rispetto a preadv() e pwritev(), le nuove funzioni si differenziano per l'aggiunta di un ulteriore argomento per trasmettere al kernel flag aggiuntivi, come RWF_SYNC (ripristino dei dati e dei metadati dalla cache sul supporto dopo l'esecuzione dell'operazione) e RWF_DSYNC (ripristino forzato sul supporto solo dei dati).
  • Aggiunta la supporto per le architetture Loongarch64 e Riscv32.
  • L'implementazione della funzione clone() è stata portata a uno stato utilizzabile.
  • Nella funzione statvfs() è stato garantito il ritorno del risultato con il tipo f_type.
  • Per i sistemi Riscv64 è stata aggiunta la supporto per il meccanismo TLSDESC (Thread-Local Storage Descriptor).
  • Nel risolutore DNS è stata implementata la gestione delle risposte con lunghe sequenze CNAME. È stato risolto un problema che faceva scartare alcune grandi risposte trasmesse tramite TCP.
  • Negli interfacce mntent è stata aggiunta la supporto per l'escape degli spazi nei percorsi dei file e nelle opzioni.
  • In snprintf e swprintf è stata garantita la corretta gestione nel caso di elaborazione di numeri di dimensioni superiori a INT_MAX. È stato migliorato il rispetto dello standard delle funzioni della famiglia printf.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster