ĂshtĂ« publikuar versioni i standardit tĂ« bibliotekĂ«s C PicoLibc 1.8.9, e zhvilluar nga Keith Packard, lideri i projektit X.Org, pĂ«r pĂ«rdorim nĂ« pajisje tĂ« integruara me hapĂ«sirĂ« tĂ« kufizuar tĂ« ruajtjes dhe memories RAM. GjatĂ« zhvillimit, njĂ« pjesĂ« e kodit Ă«shtĂ« marrĂ« nga biblioteka newlib e projektit Cygwin dhe AVR Libc, e zhvilluar pĂ«r mikrocontrolerĂ«t Atmel AVR. Kodi i PicoLibc shpĂ«rndahet nĂ«n licencĂ«n BSD. PĂ«rkrahet ndĂ«rtimi i bibliotekĂ«s pĂ«r arkitekturat 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 ka qenĂ« i fokusuar nĂ« riparimin e disa funksioneve tĂ« ndjeshme ndaj burimeve tĂ« Newlib, tĂ« cilat ishte e vĂ«shtirĂ« t'i pĂ«rdorni nĂ« pajisje tĂ« integruara me RAM tĂ« vogĂ«l. PĂ«r shembull, nĂ« PicoLibc funksionet stdio janĂ« zĂ«vendĂ«suar me njĂ« variant tĂ« kompakt nga biblioteka avrlibc. Kodi gjithashtu Ă«shtĂ« pastruar nga komponentĂ«t e papĂ«rdorur nĂ« ndĂ«rtimet pĂ«r pajisje tĂ« integruara qĂ« nuk ofrohen nĂ«n licencĂ«n BSD. ĂshtĂ« shtuar njĂ« variant i thjeshtuar i kodit tĂ« inicializimit (crt0), dhe realizimi i thirrjeve Ă«shtĂ« kaluar nga 'struct _reent' nĂ« mekanizmin TLS (storage tĂ« pĂ«rkohshĂ«m pĂ«r thread). PĂ«r ndĂ«rtim Ă«shtĂ« pĂ«rdorur mjetin ndihmĂ«s Meson.
Në lëshimin e ri:
- Shtuar përkrahja për arkitekturat LoongArch, OpenRISC dhe LatticMico32.
- Propozohet realizimi i skedarit të titullit uchar.h, i shfaqur në standardin C11.
- Shtuar konfigurimi nano-malloc-clear-freed për pastrimin e memories të çliruar pas ekzekutimit të free() ose realloc().
- ĂshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« clang multilib nĂ« sistemet ARM64.
- Kaluar në mjete të reja picolibc-ci-tools për ndërtim të automatizuar në sistemet e integrimit të vazhdueshëm.
- Për arkitekturën MIPS, është realizuar mbështetje për teknologjinë 'semihosting', duke lejuar që kodi të ekzekutohet në një mjedis debimi ose emulatori për të përdorur mekanizmat e input/output të sistemit të hostit.
- Për procesorët Xtensa, është shtuar mbështetje për picocrt dhe semihost.
- Shtuar konfigurime për përdorim me CoreBoot.
- Shtuar funksioni memset_explicit(), i shfaqur në standardin C23.
- Tabelat e konvertimit të regjistrave të simboleve janë përditësuar deri në specifikimin Unicode 15.1.0.
- Funksionet asnprintf() dhe vasnprintf() janë transferuar nga biblioteka newlib.
- Shtuar mbështetje për emulatorin FVP (Fixed Virtual Platforms), të zhvilluar nga ARM.
- Shtuar mbështetje për versionet e vjetra të kompilerit GCC (më të vjetra se 4.4).
- Realizimet iconv dhe locale janë zëvendësuar me variante më kompakte, duke përdorur kodin e përbashkët për punë me kodet.
Burimi: opennet.ru
