Kutulutsidwa kwa laibulale yokhazikika ya C PicoLibc 1.4.7

Keith Packard, wopanga mapulogalamu a Debian, mtsogoleri wa polojekiti ya X.Org komanso wopanga zowonjezera zambiri za X, kuphatikiza XRender, XComposite ndi XRandR, lofalitsidwa kutulutsidwa kwa laibulale yanthawi zonse ya C PicoLibc 1.4.7, yopangidwa kuti igwiritsidwe ntchito pazida zophatikizika zokhala ndi zosungirako zokhazikika komanso RAM. Pachitukuko, gawo lina la code linabwerekedwa ku laibulale newlib kuchokera ku projekiti ya Cygwin ndi Mtengo wa AVR, yopangidwira ma microcontrollers a Atmel AVR. PicoLibc kodi wogawidwa ndi pansi pa layisensi ya BSD. Msonkhano wa laibulale umathandizidwa ndi zomangamanga za ARM (32-bit), i386, RISC-V, x86_64 ndi PowerPC.

Poyambirira, polojekitiyi idapangidwa pansi pa dzina la "newlib-nano" ndipo cholinga chake chinali kukonzanso zina mwazinthu zofunikira kwambiri za Newlib, zomwe zinali zovuta kugwiritsa ntchito pazida zophatikizidwa ndi RAM yochepa. Mwachitsanzo, ntchito za stdio zasinthidwa ndi mtundu wa compact wochokera ku library ya avrlibc. Khodiyo idatsukidwanso pazinthu zopanda chilolezo za BSD zomwe sizinagwiritsidwe ntchito pomanga. Mtundu wosavuta wa code yoyambira (crt0) wawonjezedwa, ndipo kukhazikitsa kwa ulusi wapamaloko kwasunthidwa kuchoka ku 'struct _reent' kupita ku makina a TLS (ulusi-malo yosungirako). Zida za Meson zimagwiritsidwa ntchito popanga.

M'kutulutsa kwatsopano:

  • Anawonjezera luso kumanga ntchito zatsimikiziridwa masamu wopanga Chithunzi cha CompCert.
  • Thandizo lowonjezera la wopanga Clang.
  • Makhalidwe a ntchito ya 'gamma' adalumikizidwa ndi machitidwe a Glibc.
  • Kukhazikitsa kwa nano-malloc kumatsimikizira kuti kukumbukira kobwerera kumachotsedwa.
  • Kuchita bwino kwa nano-realloc, makamaka pophatikiza midadada yaulere ndikukulitsa kukula kwa milu.
  • Anawonjezera mayeso kuti muwone momwe malloc akuyendera bwino.
  • Kuthandizira kwabwino kwa nsanja ya Windows ndikuwonjezera luso lomanga pogwiritsa ntchito zida za mingw.
  • Pa machitidwe a ARM, ngati alipo, kaundula wa hardware wa TLS (Thread-Local Storage) amayatsidwa.

Source: opennet.ru