ĂshtĂ« publikuar lĂ«shimi i bibliotekĂ«s standarde C PicoLibc 1.8.6, e zhvilluar nga Keith Packard, lideri i projektit X.Org, pĂ«r pĂ«rdorim nĂ« pajisje tĂ« pĂ«rfshira me kapacitet tĂ« kufizuar memorie tĂ« pĂ«rhershme dhe RAM. GjatĂ« zhvillimit, pjesĂ« tĂ« kodit janĂ« huazuar nga biblioteka newlib e projektit Cygwin dhe AVR Libc, e cila Ă«shtĂ« zhvilluar pĂ«r mikro-kontrollorĂ«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 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:
- Janë transferuar ndryshime nga Newlib 4.4.0, si mbështetja 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 për përdorimin e maskave gjatë shtimit të katalogëve, implementimi i një porte për procesorët Xtensa, ndarja e trajtuesve të printf në skedarë të veçantë për të ulur madhësinë gjatë lidhjes.
- Në picolibc.ld janë shtuar simbolet "__eh_*" për LLVM libunwind.
- ĂshtĂ« pĂ«rfshirĂ« mbĂ«shtetje testuese pĂ«r sisteme 32-bit SPARC.
- ĂshtĂ« siguruar mbĂ«shtetje pĂ«r platforma target me lloje tĂ« pazakonta qĂ« lĂ«vizin piketat, tĂ« cilat tani reflektohen nĂ« lloje 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 grumbullit gjatĂ« zgjidhjes sĂ« kodit tĂ« pĂ«rjashtimeve nĂ« sistemet RISC-V.
- ĂshtĂ« shtuar opsioni "-Dfast-bufio=true" pĂ«r tĂ« rritur efikasitetin e leximit dhe shkruarjes kur pĂ«rdoret bufio.
- ĂshtĂ« bĂ«rĂ« pastrimi i funksioneve inline publike pĂ«r tĂ« ndarĂ« semantikĂ«n gnu_inline.
- Shumica e funksioneve fenv për të rritur performancën janë shpërndarë në përdorimin e funksioneve inline (gnu_inline) në vend të atyre normale.
- U krijua një implementim alternativ të ctype, në të cilin nuk përdoret një masë ctype dhe bëhet krahasimi direkt i vlerave.
Burimi: opennet.ru
