Publikimi i Bibliotekës Standard C të PicoLibc 1.8.9

Është publikuar publikimi i bibliotekës standarde C PicoLibc 1.8.9, i zhvilluar nga Keith Packard (udhëheqës i projektit X.Org) për përdorim në pajisjet e integruara me ruajtje të kufizuar dhe RAM. Gjatë zhvillimit, një pjesë e kodit u huazua nga biblioteka newlib nga projekti Cygwin dhe AVR Libc, i zhvilluar për mikrokontrolluesit AVR Atmel. Kodi PicoLibc shpërndahet nën licencën BSD. Asambleja e bibliotekës mbështetet për arkitekturat ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch dhe OpenRisc.

Fillimisht, projekti u zhvillua me emrin "newlib-nano" dhe kishte për qëllim ripërpunimin e disa prej funksioneve intensive të burimeve të Newlib, të cilat ishin problematike për t'u përdorur në pajisjet e integruara me pak RAM. Për shembull, në PicoLibc funksionet stdio zëvendësohen me një version kompakt nga biblioteka avrlibc. Kodi pastrohet gjithashtu nga komponentët që nuk përdoren në montimin e pajisjes së integruar që nuk janë dhënë nën licencën BSD. Është shtuar një version i thjeshtuar i kodit të inicializimit (crt0) dhe zbatimi i thirrjeve është transferuar nga 'struct _reent' në mekanizmin TLS (thread-local storage). Paketa e veglave Meson përdoret për montim.

Në publikimin e ri:

  • Mbështetje e shtuar për arkitekturat LoongArch, OpenRISC dhe LatticMico32.
  • Propozohet një zbatim i skedarit të kokës uchar.h i prezantuar në standardin C11.
  • U shtua cilësimi nano-malloc-clear-freed për të pastruar kujtesën e çliruar pas free() ose realloc().
  • Zbatoi aftësinë për të përdorur clang multilib në sistemet ARM64.
  • Ka përfunduar kalimi në paketën e re të veglave picolibc-ci-tools për montimin automatik në sistemet e integrimit të vazhdueshëm.
  • Arkitektura MIPS mbështet teknologjinë "semihosting", e cila lejon që kodi të ekzekutohet në një mjedis korrigjues ose emulator për të përdorur mekanizmat I/O të sistemit pritës.
  • Mbështetje e shtuar për picocrt dhe gjysmëhost për procesorët Xtensa.
  • Cilësimet e shtuara për përdorim me CoreBoot.
  • U shtua funksioni memset_explicit(), i prezantuar në standardin C23.
  • Tabelat e konvertimit të rasteve janë përditësuar në specifikimin Unicode 15.1.0.
  • Funksionet asnprintf() dhe vasnprintf() janë zhvendosur nga biblioteka newlib.
  • Mbështetje e shtuar për emulatorin FVP (Fixed Virtual Platforms) të zhvilluar nga ARM.
  • Mbështetje e shtuar për versionet më të vjetra të përpiluesit të GCC (më të vjetër se 4.4).
  • Implementimet iconv dhe locale janë zëvendësuar me versione më kompakte që përdorin kod të përbashkët për të punuar me kodime.

Burimi: opennet.ru

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster