Lansarea bibliotecii C standard Musl 1.2.5

După 10 luni de dezvoltare, este prezentată lansarea bibliotecii standard C Musl 1.2.5, oferind o implementare libc care este potrivită pentru utilizare atât pe PC-uri desktop și servere, cât și pe sisteme mobile, combinând suportul complet pentru standarde (ca în Glibc ) cu dimensiuni reduse, consum redus de resurse și performanțe ridicate (ca în uClibc, dietlibc și Android Bionic). Există suport pentru toate interfețele necesare C99 și POSIX 2008, precum și parțial C11 și un set de extensii pentru programare cu mai multe fire (file POSIX), gestionarea memoriei și lucrul cu locale. Codul Musl este furnizat sub licența gratuită MIT.

Principalele modificări:

  • S-a adăugat funcția statx(), care diferă de fstatat64 prin faptul că are un argument de semnalizare suplimentar. Dacă nucleul nu acceptă apelul de sistem statx, care returnează informații extinse despre fișier, inclusiv timpul de creare a fișierelor și semnalizatoarele specifice sistemului de fișiere, se întoarce la utilizarea apelului de sistem fstatat.
  • S-au adăugat funcții preadv2() și pwritev2(), care furnizează wrapper-uri peste apelurile de sistem ale nucleului Linux cu același nume. Noile funcții diferă de preadv() și pwritev() prin prezența unui alt argument pentru transmiterea de steaguri suplimentare către nucleu, cum ar fi RWF_SYNC (spălați datele și metadatele din cache pe suport media după finalizarea operației) și RWF_DSYNC ( curățarea forțată a datelor numai către mass-media).
  • S-a adăugat suport pentru arhitecturile Loongarch64 și Riscv32.
  • Implementarea funcției clone() a fost adusă într-o stare utilizabilă.
  • Funcția statvfs() asigură returnarea unui rezultat cu tipul f_type.
  • Pentru sistemele Riscv64, a fost adăugat suport pentru mecanismul TLSDESC (Thread-Local Storage Descriptor).
  • Soluția DNS implementează procesarea răspunsurilor cu secvențe CNAME lungi. S-a rezolvat o problemă care a cauzat eliminarea unor răspunsuri mari trimise prin TCP.
  • Interfețele mntent au acum suport pentru evadarea spațiilor din căile și opțiunile fișierelor.
  • Snprintf și swprintf asigură gestionarea corectă a situației atunci când procesează numere mai mari decât INT_MAX. Conformitate îmbunătățită cu familia de funcții printf.

Sursa: opennet.ru

Adauga un comentariu