Keluaran perpustakaan Musl 1.2.5 standard C

Selepas 10 bulan pembangunan, keluaran perpustakaan C standard Musl 1.2.5 dibentangkan, menyediakan pelaksanaan libc yang sesuai untuk digunakan pada kedua-dua PC desktop dan pelayan, dan pada sistem mudah alih, menggabungkan sokongan penuh untuk standard (seperti dalam Glibc ) dengan saiz kecil, penggunaan sumber yang rendah dan prestasi tinggi (seperti dalam uClibc, dietlibc dan Android Bionic). Terdapat sokongan untuk semua antara muka C99 dan POSIX 2008 yang diperlukan, serta sebahagian C11 dan satu set sambungan untuk pengaturcaraan berbilang benang (benang POSIX), pengurusan memori dan bekerja dengan tempat. Kod Musl disediakan di bawah lesen MIT percuma.

Perubahan utama:

  • Menambahkan fungsi statx(), yang berbeza daripada fstatat64 dengan mempunyai hujah bendera tambahan. Jika kernel tidak menyokong panggilan sistem statx, yang mengembalikan maklumat fail lanjutan, termasuk masa penciptaan fail dan bendera khusus sistem fail, ia akan kembali menggunakan panggilan sistem fstatat.
  • Menambah fungsi preadv2() dan pwritev2(), yang menyediakan pembalut pada panggilan sistem kernel Linux dengan nama yang sama. Fungsi baharu berbeza daripada preadv() dan pwritev() dengan kehadiran satu lagi hujah untuk menghantar bendera tambahan kepada kernel, seperti RWF_SYNC (flush data dan metadata daripada cache ke media selepas operasi selesai) dan RWF_DSYNC ( siram paksa hanya data kepada media).
  • Menambah sokongan untuk seni bina Loongarch64 dan Riscv32.
  • Pelaksanaan fungsi klon() telah dibawa ke keadaan yang boleh digunakan.
  • Fungsi statvfs() memastikan bahawa hasil dengan jenis f_type dikembalikan.
  • Untuk sistem Riscv64, sokongan untuk mekanisme TLSDESC (Thread-Local Storage Descriptor) telah ditambah.
  • Penyelesai DNS melaksanakan pemprosesan respons dengan jujukan CNAME yang panjang. Menyelesaikan isu yang menyebabkan beberapa respons besar yang dihantar melalui TCP dibuang.
  • Antara muka mntent kini mempunyai sokongan untuk melarikan diri dari ruang dalam laluan dan pilihan fail.
  • Snprintf dan swprintf menyediakan pengendalian situasi yang betul apabila memproses nombor yang lebih besar daripada INT_MAX. Pematuhan yang lebih baik dengan keluarga fungsi printf.

Sumber: opennet.ru

Tambah komen