A PicoLibc 1.8.9-es verzió kiadása

Megjelent a PicoLibc 1.8.9-es verzió, amelyet Keith Packard (az X.Org projekt vezetője) fejlesztett beágyazott eszközök számára, korlátozott állandó tárolókapacitással és RAM-mel. A fejlesztés során a kód egy része a newlib könyvtárból származik, amely a Cygwin és az AVR Libc projektek számára készült az Atmel AVR mikrovezérlőkhöz. A PicoLibc kódja BSD licenc alatt érhető el. Támogatott az ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch és OpenRisc architektúrák verziójának összeállítása.

A projekt eredetileg a „newlib-nano” néven indult, és a Newlib néhány erőforrásigényes funkciójának újragondolására összpontosított, amelyeket nehéz volt használni beágyazott eszközökön, kis RAM-mal. Például a PicoLibc stdio funkcióit az avrlibc könyvtár kompakt változata váltotta fel. A kód eltávolította azokat a nem BSD licenc alatt álló, a beágyazott eszközökhöz nem használt összetevőket is. Egyszerűsített inicializáló kód (crt0) került hozzáadásra, és a hívások megvalósítása a ‘struct _reent’ -ről a TLS (szál-specifikus tárolás) mechanizmusra lett átírva. A Meson eszköz készletét használták az összeállításhoz.

Az új kiadásban:

  • Támogatás került hozzáadásra a LoongArch, OpenRISC és LatticMico32 architektúrákhoz.
  • Javasolták az uchar.h fejlécfájl megvalósítását, amely a C11 szabványban jelent meg.
  • Hozzáadásra került a nano-malloc-clear-freed beállítás a szabadított memória törlésére a free() vagy realloc() végrehajtása után.
  • Megvalósítható a clang multilib használata ARM64 rendszereken.
  • Átálltak az új picolibc-ci-tools eszköz készletre a folyamatos integrációs rendszerek automatikus összeállításához.
  • A MIPS architektúrára megvalósult a 'semihosting' technológia támogatása, amely lehetővé teszi a debugger vagy emulátor környezetében futó kód számára, hogy kihasználja a host rendszer I/O mechanizmusait.
  • Xtensa processzorokhoz hozzáadták a picocrt és semihost támogatást.
  • Beállítások kerültek hozzáadásra a CoreBoot használatához.
  • Hozzáadták a memset_explicit() funkciót, amely a C23 szabványban jelent meg.
  • A karakterregiszter átalakító táblázatok frissítve lettek az Unicode 15.1.0 specifikációra.
  • Az newlib könyvtárból átvitték az asnprintf() és vasnprintf() funkciókat.
  • Támogatás került hozzáadásra az ARM által fejlesztett FVP (Fixed Virtual Platforms) emulátorhoz.
  • Támogatás került hozzáadásra a régebbi GCC fordítóverziókhoz (4.4 verzió előtt).
  • Az iconv és locale implementációk kompaktabb változatokra lettek cserélve, ahol közös kódot használnak a karakterkódolás kezelésére.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster