ĂshtĂ« publikuar versioni i standardit tĂ« bibliotekĂ«s C PicoLibc 1.8.6, e zhvilluar nga Keith Packard, lideri i projektit X.Org, pĂ«r pĂ«rdorim nĂ« pajisje tĂ« integruara me hapĂ«sirĂ« tĂ« kufizuar pĂ«r ruajtje tĂ« pĂ«rhershme dhe memorie tĂ« pĂ«rkohshme. GjatĂ« zhvillimit, njĂ« pjesĂ« e kodit Ă«shtĂ« huazuar nga biblioteka newlib e projektit Cygwin dhe AVR Libc, e cila Ă«shtĂ« zhvilluar pĂ«r mikrocontrolerĂ«t Atmel AVR. Kodi i 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 dhe PowerPC.
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:
- Janë trasferuar ndryshime nga Newlib 4.4.0, të tilla si mbështetje për llojin 'long double' në arkitekturën i386, RISC-V, Aarch64 dhe x86_64, mbështetje për zgjerimet RISC-V Zfinx/Zdinx, mundësia e përdorimit të maskave gjatë insertimit të katalogëve, implementimi i portit për procesorët Xtensa, ndarja e trajtimve printf në skedarë të veçantë për të reduktuar madhësinë gjatë lidhjes.
- Në picolibc.ld janë shtuar simbolet '__eh_*' për LLVM libunwind.
- ĂshtĂ« pĂ«rfshirĂ« mbĂ«shtetje testuese pĂ«r sistemet 32-bit SPARC.
- ĂshtĂ« siguruar mbĂ«shtetje pĂ«r platformat e synuara me lloje tĂ« pazakonta tĂ« lĂ«vizshme, tĂ« cilat tani reflektohen nĂ« llojet 32-, 64-, 80- dhe 128-bit nĂ« kodin picolibc.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r arkitekturĂ«n RISC SuperH.
- ĂshtĂ« pĂ«rmirĂ«suar gjurmimi i stack-ut gjatĂ« debugimit tĂ« kodit tĂ« pĂ«rjashtimit nĂ« sistemet RISC-V.
- ĂshtĂ« shtuar opsioni '-Dfast-bufio=true' pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin e leximit dhe shkrimit gjatĂ« pĂ«rdorimit tĂ« bufio.
- ĂshtĂ« bĂ«rĂ« pastrimi i funksioneve publike inline pĂ«r ndarje tĂ« semantikĂ«s gnu_inline.
- Shumica e funksioneve fenv për rritjen e performancës janë kaluar në përdorimin e funksioneve inline (gnu_inline) në vend të atyre normale.
- ĂshtĂ« krijuar njĂ« zgjidhje alternative pĂ«r ctype, ku nuk pĂ«rdoret njĂ« array ctype dhe bĂ«het krahasim direkt i vlerave.
Burimi: opennet.ru
