Paglabas ng karaniwang C library na PicoLibc 1.4.7

Keith Packard, aktibong developer ng Debian, pinuno ng proyekto ng X.Org at tagalikha ng maraming extension ng X kabilang ang XRender, XComposite at XRandR, lathala paglabas ng karaniwang C library PicoLibc 1.4.7, na binuo para gamitin sa mga naka-embed na device na may limitadong permanenteng storage at RAM. Sa panahon ng pag-unlad, ang bahagi ng code ay hiniram mula sa aklatan newlib mula sa proyekto ng Cygwin at AVR Libc, na binuo para sa Atmel AVR microcontrollers. PicoLibc Code ipinamahagi ni sa ilalim ng lisensya ng BSD. Sinusuportahan ang pagpupulong ng library para sa mga arkitektura ng ARM (32-bit), i386, RISC-V, x86_64 at PowerPC.

Sa una, ang proyekto ay binuo sa ilalim ng pangalang "newlib-nano" at naglalayong muling gawin ang ilan sa mga resource-intensive na function ng Newlib, na may problemang gamitin sa mga naka-embed na device na may maliit na RAM. Halimbawa, ang mga stdio function ay pinalitan ng isang compact na bersyon mula sa avrlibc library. Ang code ay nalinis din ng mga non-BSD-licensed na bahagi na hindi ginagamit sa naka-embed na build. Ang isang pinasimpleng bersyon ng initialization code (crt0) ay naidagdag, at ang pagpapatupad ng mga lokal na thread ay inilipat mula sa 'struct _reent' patungo sa TLS na mekanismo (thread-lokal na imbakan). Ang Meson toolkit ay ginagamit para sa pagpupulong.

Sa bagong release:

  • Idinagdag ang kakayahang bumuo gamit mathematically verified compiler CompCert.
  • Nagdagdag ng suporta para sa Clang compiler.
  • Ang pag-uugali ng function na 'gamma' ay naiayon sa pag-uugali ng Glibc.
  • Tinitiyak ng pagpapatupad ng nano-malloc na na-clear ang ibinalik na memorya.
  • Pinahusay na pagganap ng nano-realloc, lalo na kapag pinagsasama ang mga libreng bloke at pagpapalawak ng laki ng heap.
  • Nagdagdag ng isang hanay ng mga pagsubok upang suriin ang tamang operasyon ng malloc.
  • Pinahusay na suporta para sa Windows platform at nagdagdag ng kakayahang bumuo gamit ang mingw toolkit.
  • Sa mga ARM system, kung available, ang TLS (Thread-Local Storage) na rehistro ng hardware ay pinagana.

Pinagmulan: opennet.ru