Kutolewa kwa maktaba ya kawaida ya C ya PicoLibc 1.4.7

Keith Packard, msanidi programu wa Debian, kiongozi wa mradi wa X.Org na muundaji wa viendelezi vingi vya X, ikiwa ni pamoja na XRender, XComposite na XRandR, kuchapishwa kutolewa kwa maktaba ya kawaida ya C PicoLibc 1.4.7, iliyotengenezwa kwa matumizi kwenye vifaa vilivyopachikwa vilivyo na hifadhi ndogo ya kudumu na RAM. Wakati wa ukuzaji, sehemu ya nambari ilikopwa kutoka kwa maktaba newlib kutoka kwa mradi wa Cygwin na Libc ya AVR, iliyotengenezwa kwa vidhibiti vidogo vya Atmel AVR. Nambari ya PicoLibc kusambazwa na chini ya leseni ya BSD. Mkutano wa maktaba unatumika kwa usanifu wa ARM (32-bit), i386, RISC-V, x86_64 na PowerPC.

Hapo awali, mradi huo ulianzishwa chini ya jina "newlib-nano" na ulilenga kurekebisha baadhi ya kazi zinazotumia rasilimali nyingi za Newlib, ambazo zilikuwa na shida kutumia kwenye vifaa vilivyopachikwa na RAM kidogo. Kwa mfano, utendakazi wa stdio umebadilishwa na toleo fupi kutoka kwa maktaba ya avrlibc. Nambari hiyo pia imesafishwa kwa vipengee visivyo na leseni ya BSD ambavyo havijatumika katika muundo uliopachikwa. Toleo lililorahisishwa la msimbo wa uanzishaji (crt0) limeongezwa, na utekelezaji wa mazungumzo ya ndani umehamishwa kutoka 'struct _reent' hadi kwa utaratibu wa TLS (uhifadhi wa ndani) Zana ya zana ya Meson hutumiwa kwa mkusanyiko.

Katika toleo jipya:

  • Aliongeza uwezo wa kujenga kwa kutumia imethibitishwa kihisabati mkusanyaji CompCet.
  • Usaidizi ulioongezwa kwa mkusanyaji wa Clang.
  • Tabia ya chaguo la kukokotoa la 'gamma' imeletwa kulingana na tabia ya Glibc.
  • Utekelezaji wa nano-malloc huhakikisha kuwa kumbukumbu iliyorejeshwa imefutwa.
  • Utendaji ulioboreshwa wa nano-realloc, hasa wakati wa kuunganisha vizuizi visivyolipishwa na kupanua saizi ya lundo.
  • Imeongeza seti ya vipimo ili kuangalia utendakazi sahihi wa malloc.
  • Usaidizi ulioboreshwa wa jukwaa la Windows na kuongeza uwezo wa kujenga kwa kutumia zana ya zana za mingw.
  • Kwenye mifumo ya ARM, ikiwa inapatikana, rejista ya maunzi ya TLS (Thread-Local Storage) imewashwa.

Chanzo: opennet.ru