ĂshtĂ« publikuar lĂ«shimi i bibliotekĂ«s standarde C PicoLibc 1.8.9, qĂ« zhvillohet nga Keith Packard (udhĂ«heqĂ«si i projektit X.Org) pĂ«r pĂ«rdorim nĂ« pajisje tĂ« integruara me hapĂ«sirĂ« tĂ« kufizuar tĂ« ruajtjes sĂ« pĂ«rhershme dhe memories sĂ« operativĂ«s. GjatĂ« zhvillimit, njĂ« pjesĂ« e kodit Ă«shtĂ« marrĂ« nga biblioteka newlib e projektit Cygwin dhe AVR Libc, e cila Ă«shtĂ« zhvilluar pĂ«r mikro-kontrollorĂ«t Atmel AVR. Kodi PicoLibc shpĂ«rndahet nĂ«n licencĂ«n BSD. MbĂ«shtetet ndĂ«rtimi i bibliotekĂ«s pĂ«r arkitekturĂ«n ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch dhe OpenRisc.
Fillimisht, projekti Ă«shtĂ« zhvilluar nĂ«n emrin "newlib-nano" dhe ishte i orientuar drejt rishikimit tĂ« disa funksioneve qĂ« kĂ«rkonin shumĂ« burime tĂ« Newlib, tĂ« cilat ishin problematike pĂ«r t'u pĂ«rdorur nĂ« pajisje tĂ« pĂ«rfshira me RAM tĂ« vogĂ«l. PĂ«r shembull, nĂ« PicoLibc funksionet stdio janĂ« zĂ«vendĂ«suar me njĂ« version kompakt nga biblioteka avrlibc. Kodi gjithashtu Ă«shtĂ« pastruar nga komponentĂ«t qĂ« nuk pĂ«rdoren nĂ« ndĂ«rtimin pĂ«r pajisje tĂ« pĂ«rfshira, qĂ« nuk shpĂ«rndahen nĂ«n licencĂ«n BSD. ĂshtĂ« shtuar njĂ« variante i thjeshtuar i kodit tĂ« inicializimit (crt0), dhe implementimi i thirrjeve Ă«shtĂ« transmetuar nga 'struct _reent' nĂ« mekanizmin TLS (storage lokal pĂ«r threads). PĂ«r ndĂ«rtimin Ă«shtĂ« pĂ«rdorur mjeti Meson.
NĂ« versionin e ri:
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r arkitekturĂ«n LoongArch, OpenRISC dhe LatticMico32.
- ĂshtĂ« propozuar implementimi i skedarit tĂ« titullit uchar.h, i cili shfaqet nĂ« standartin C11.
- ĂshtĂ« shtuar parametri nano-malloc-clear-freed pĂ«r pastrimin e memories, e liruar pas ekzekutimit tĂ« free() ose realloc().
- ĂshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« clang multilib nĂ« sistemet ARM64.
- Kalim në mjetet e reja picolibc-ci-tools për ndërtim automatike në sistemet e integrimit të vazhdueshëm.
- Për arkitekturën MIPS është realizuar mbështetje për teknologi 'semihosting', e cila i lejon kodit që ekzekutohet në një mjedis debuggjeri ose emulatori të përdorë mekanizmat e hyrjes/ daljes së sistemit host.
- Për procesorët Xtensa është shtuar mbështetje për picocrt dhe semihost.
- Shtohen parametra për përdorim me CoreBoot.
- ĂshtĂ« shtuar funksioni memset_explicit(), i cili shfaqet nĂ« standartin C23.
- Të dhënat e konvertimit të regjistrit të simboleve janë përditësuar deri në specifikacionin Unicode 15.1.0.
- Janë transferuar funksionet asnprintf() dhe vasnprintf() nga biblioteka newlib.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r emulatorin FVP (Fixed Virtual Platforms), qĂ« zhvillohet nga ARM.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r versionet e vjetra tĂ« pĂ«rpunuesit GCC (mĂ« tĂ« vjetrat se 4.4).
- Implementimet iconv dhe locale janë zëvendësuar me variante më kompakte, ku është angazhuar kodi i përbashkët për punën me kodet e karaktereve.
Burimi: opennet.ru
