PicoLibc 1.4.7 Standart C Kitaplığı Sürümü

Aktif Debian geliştiricisi, X.Org projesinin lideri ve XRender, XComposite ve XRandR dahil birçok X uzantısının yaratıcısı Keith Packard, опубликовал standart C kütüphanesinin piyasaya sürülmesi PicoLibc 1.4.7, sınırlı kalıcı depolama ve RAM'e sahip gömülü cihazlarda kullanılmak üzere geliştirilmiştir. Geliştirme sırasında kodun bir kısmı kütüphaneden ödünç alındı yeni kitap Cygwin projesinden ve AVR KitaplığıAtmel AVR mikrodenetleyicileri için geliştirildi. PicoLibc kodu tarafından dağıtıldı BSD lisansı altındadır. Kitaplık derlemesi ARM (32 bit), i386, RISC-V, x86_64 ve PowerPC mimarileri için desteklenir.

Başlangıçta proje "newlib-nano" adı altında geliştirildi ve Newlib'in, az RAM'e sahip gömülü cihazlarda kullanımı sorunlu olan bazı kaynak yoğun işlevlerini yeniden çalıştırmayı amaçlıyordu. Örneğin, stdio işlevleri avrlibc kütüphanesindeki kompakt bir sürümle değiştirildi. Kod ayrıca gömülü yapıda kullanılmayan BSD lisanslı olmayan bileşenlerden de temizlendi. Başlatma kodunun (crt0) basitleştirilmiş bir sürümü eklendi ve yerel iş parçacıklarının uygulanması 'struct _reent'ten TLS mekanizmasına taşındı (yerel iş parçacığı depolama). Meson araç seti montaj için kullanılır.

Yeni sürümde:

  • Kullanarak inşa etme yeteneği eklendi matematiksel olarak doğrulandı derleyici Bilgisayar Sertifikası.
  • Clang derleyicisi için destek eklendi.
  • 'Gama' fonksiyonunun davranışı Glibc'nin davranışıyla aynı çizgiye getirildi.
  • Nano-malloc uygulaması, geri dönen belleğin temizlenmesini sağlar.
  • Özellikle serbest blokları birleştirirken ve yığın boyutunu genişletirken nano-realloc'un performansı iyileştirildi.
  • Malloc'un doğru çalışıp çalışmadığını kontrol etmek için bir dizi test eklendi.
  • Windows platformu için geliştirilmiş destek ve mingw araç setini kullanarak oluşturma yeteneği eklendi.
  • ARM sistemlerinde, varsa TLS (İş Parçacığı Yerel Depolama) donanım kaydı etkinleştirilir.

Kaynak: opennet.ru