Liberigo de la norma C-biblioteko PicoLibc 1.4.7

Keith Packard, aktiva Debian-programisto, gvidanto de la projekto X.Org kaj kreinto de multaj X-etendaĵoj, inkluzive de XRender, XComposite kaj XRandR, eldonita liberigo de la norma C-biblioteko PicoLibc 1.4.7, evoluigita por uzo sur enkonstruitaj aparatoj kun limigita permanenta stokado kaj RAM. Dum evoluo, parto de la kodo estis pruntita de la biblioteko newlib de la projekto Cygwin kaj AVR Libc, evoluigita por Atmel AVR mikroregiloj. PicoLibc-kodo distribuita de sub BSD-licenco. Biblioteko-asembleo estas subtenata por ARM (32-bita), i386, RISC-V, x86_64 kaj PowerPC-arkitekturoj.

Komence, la projekto estis evoluigita sub la nomo "newlib-nano" kaj celis reverki kelkajn el la rimedintensaj funkcioj de Newlib, kiuj estis problemaj uzi sur enkonstruitaj aparatoj kun malmulte da RAM. Ekzemple, la stdio-funkcioj estis anstataŭigitaj per kompakta versio de la avrlibc-biblioteko. La kodo ankaŭ estis purigita de ne-BSD-licencitaj komponentoj ne uzitaj en la enigita konstruo. Simpligita versio de la komenca kodo (crt0) estis aldonita, kaj la efektivigo de lokaj fadenoj estis movita de 'struct _reent' al la TLS-mekanismo (faden-loka stokado). La ilaro Meson estas uzata por kunigo.

En la nova eldono:

  • Aldonita la kapablo konstrui uzante matematike kontrolita kompililo CompCert.
  • Aldonita subteno por la Clang-kompililo.
  • La konduto de la "gama" funkcio estis alportita en linion kun la konduto de Glibc.
  • La nano-malloc efektivigo certigas, ke la revenita memoro estas forigita.
  • Plibonigita rendimento de nano-realoc, precipe dum kunfandado de senpagaj blokoj kaj vastigado de amasgrandeco.
  • Aldonita aro da testoj por kontroli la ĝustan funkciadon de malloc.
  • Plibonigis subtenon por la Vindoza platformo kaj aldonis la kapablon konstrui per la ilaro mingw.
  • Sur ARM-sistemoj, se havebla, la aparataro-registro TLS (Thread-Local Storage) estas ebligita.

fonto: opennet.ru