Keluaran perpustakaan C standard PicoLibc 1.4.7

Keith Packard, pembangun Debian aktif, ketua projek X.Org dan pencipta banyak sambungan X, termasuk XRender, XComposite dan XRandR, diterbitkan keluaran perpustakaan C standard PicoLibc 1.4.7, dibangunkan untuk digunakan pada peranti terbenam dengan storan kekal dan RAM yang terhad. Semasa pembangunan, sebahagian daripada kod telah dipinjam daripada perpustakaan newlib daripada projek Cygwin dan AVR Libc, dibangunkan untuk pengawal mikro Atmel AVR. Kod PicoLibc diedarkan oleh di bawah lesen BSD. Pemasangan perpustakaan disokong untuk seni bina ARM (32-bit), i386, RISC-V, x86_64 dan PowerPC.

Pada mulanya, projek itu dibangunkan di bawah nama "newlib-nano" dan bertujuan untuk mengolah semula beberapa fungsi intensif sumber Newlib, yang bermasalah untuk digunakan pada peranti terbenam dengan sedikit RAM. Sebagai contoh, fungsi stdio telah digantikan dengan versi padat daripada perpustakaan avrlibc. Kod ini juga telah dibersihkan daripada komponen bukan berlesen BSD yang tidak digunakan dalam binaan terbenam. Versi ringkas kod permulaan (crt0) telah ditambah dan pelaksanaan utas tempatan telah dialihkan daripada 'struct _reent' ke mekanisme TLS (penyimpanan benang-tempatan). Kit alat Meson digunakan untuk pemasangan.

Dalam keluaran baharu:

  • Menambah keupayaan untuk membina menggunakan disahkan secara matematik penyusun CompCert.
  • Menambah sokongan untuk pengkompil Clang.
  • Tingkah laku fungsi 'gamma' telah diselaraskan dengan tingkah laku Glibc.
  • Pelaksanaan nano-malloc memastikan memori yang dikembalikan dikosongkan.
  • Prestasi nano-realloc yang lebih baik, terutamanya apabila menggabungkan blok bebas dan mengembangkan saiz timbunan.
  • Menambah satu set ujian untuk menyemak operasi malloc yang betul.
  • Sokongan yang lebih baik untuk platform Windows dan menambah keupayaan untuk membina menggunakan kit alat mingw.
  • Pada sistem ARM, jika tersedia, daftar perkakasan TLS (Thread-Local Storage) didayakan.

Sumber: opennet.ru