Standart C kitabxanasının buraxılışı PicoLibc 1.4.7

Keith Packard, aktiv Debian tərtibatçısı, X.Org layihəsinin lideri və XRender, XComposite və XRandR daxil olmaqla bir çox X genişləndirmələrinin yaradıcısı, nəşr standart C kitabxanasının buraxılışı PicoLibc 1.4.7, məhdud daimi saxlama və RAM ilə quraşdırılmış cihazlarda istifadə üçün hazırlanmışdır. İnkişaf zamanı kodun bir hissəsi kitabxanadan götürülmüşdür newlib Cygwin layihəsindən və AVR Libc, Atmel AVR mikro nəzarətçiləri üçün hazırlanmışdır. PicoLibc kodu yayılır BSD lisenziyası altında. Kitabxana montajı ARM (32-bit), i386, RISC-V, x86_64 və PowerPC arxitekturaları üçün dəstəklənir.

Əvvəlcə layihə “newlib-nano” adı altında hazırlanmışdı və Newlib-in kiçik operativ yaddaşa malik quraşdırılmış cihazlarda istifadəsi problemli olan bəzi resurs tutumlu funksiyalarının yenidən işlənməsinə yönəlmişdi. Məsələn, stdio funksiyaları avrlibc kitabxanasının yığcam versiyası ilə əvəz edilmişdir. Kod həmçinin quraşdırılmış quruluşda istifadə edilməyən BSD-lisenziyalı komponentlərdən təmizlənib. Başlanğıc kodunun sadələşdirilmiş versiyası (crt0) əlavə edildi və yerli iplərin tətbiqi 'struct _reent'-dən TLS mexanizminə köçürüldü (yivli yerli saxlama). Meson alət dəsti montaj üçün istifadə olunur.

Yeni buraxılışda:

  • istifadə edərək qurmaq imkanı əlavə edildi riyazi olaraq təsdiqlənir tərtibçi CompCert.
  • Clang kompilyatoru üçün əlavə dəstək.
  • "Qamma" funksiyasının davranışı Glibc-in davranışına uyğunlaşdırılıb.
  • Nano-malloc tətbiqi geri qaytarılan yaddaşın təmizlənməsini təmin edir.
  • Xüsusilə pulsuz blokları birləşdirərkən və yığın ölçüsünü genişləndirərkən nano-realloc-un təkmilləşdirilmiş performansı.
  • Malloc-un düzgün işləməsini yoxlamaq üçün bir sıra testlər əlavə edildi.
  • Windows platforması üçün təkmilləşdirilmiş dəstək və mingw alət dəstindən istifadə edərək qurmaq imkanı əlavə edildi.
  • ARM sistemlərində, əgər varsa, TLS (Thread-Local Storage) aparat reyestri aktivləşdirilir.

Mənbə: opennet.ru