Rilis perpustakaan C standar PicoLibc 1.4.7

Keith Packard, pengembang aktif Debian, pemimpin proyek X.Org dan pencipta banyak ekstensi X termasuk XRender, XComposite dan XRandR, diterbitkan rilis perpustakaan C standar PicoLibc 1.4.7, dikembangkan untuk digunakan pada perangkat tertanam dengan penyimpanan permanen dan RAM terbatas. Selama pengembangan, sebagian kode dipinjam dari perpustakaan baru dari proyek Cygwin dan AVR Libc, dikembangkan untuk mikrokontroler Atmel AVR. Kode PicoLibc didistribusikan oleh di bawah lisensi BSD. Rakitan perpustakaan didukung untuk arsitektur ARM (32-bit), i386, RISC-V, x86_64, dan PowerPC.

Awalnya, proyek ini dikembangkan dengan nama β€œnewlib-nano” dan bertujuan untuk mengerjakan ulang beberapa fungsi Newlib yang intensif sumber daya, yang sulit digunakan pada perangkat tertanam dengan sedikit RAM. Misalnya, fungsi stdio telah diganti dengan versi ringkas dari perpustakaan avrlibc. Kode ini juga telah dibersihkan dari komponen-komponen yang tidak berlisensi BSD dan tidak digunakan dalam build yang tertanam. Versi sederhana dari kode inisialisasi (crt0) telah ditambahkan, dan implementasi thread lokal telah dipindahkan dari 'struct _reent' ke mekanisme TLS (penyimpanan thread-lokal). Toolkit Meson digunakan untuk perakitan.

Dalam rilis baru:

  • Menambahkan kemampuan untuk membangun menggunakan diverifikasi secara matematis penyusun Sertifikat Komp.
  • Menambahkan dukungan untuk kompiler Dentang.
  • Perilaku fungsi 'gamma' telah disesuaikan dengan perilaku Glibc.
  • Implementasi nano-malloc memastikan bahwa memori yang dikembalikan dibersihkan.
  • Peningkatan kinerja nano-realoc, terutama saat menggabungkan blok bebas dan memperluas ukuran heap.
  • Menambahkan serangkaian tes untuk memeriksa pengoperasian malloc yang benar.
  • Peningkatan dukungan untuk platform Windows dan menambahkan kemampuan untuk membangun menggunakan toolkit mingw.
  • Pada sistem ARM, jika tersedia, register perangkat keras TLS (Thread-Local Storage) diaktifkan.

Sumber: opennet.ru