Pagpagawas sa standard C library PicoLibc 1.4.7

Keith Packard, aktibo nga developer sa Debian, lider sa proyekto sa X.Org ug tiglalang sa daghang mga extension sa X, lakip ang XRender, XComposite ug XRandR, nga gipatik pagpagawas sa standard C library PicoLibc 1.4.7, gihimo para magamit sa mga naka-embed nga aparato nga adunay limitado nga permanente nga pagtipig ug RAM. Atol sa pag-uswag, ang bahin sa code gihulam gikan sa librarya newlib gikan sa proyekto sa Cygwin ug AVR Libc, gihimo alang sa Atmel AVR microcontrollers. PicoLibc code giapod-apod sa ubos sa lisensya sa BSD. Ang asembliya sa librarya gisuportahan alang sa ARM (32-bit), i386, RISC-V, x86_64 ug PowerPC nga mga arkitektura.

Sa sinugdan, ang proyekto gimugna ubos sa ngalan nga "newlib-nano" ug gitumong sa pagtrabaho pag-usab sa pipila sa mga resource-intensive nga mga gimbuhaton sa Newlib, nga adunay problema nga gamiton sa mga embedded device nga adunay gamay nga RAM. Pananglitan, ang mga stdio function gipulihan sa usa ka compact nga bersyon gikan sa avrlibc library. Ang code gilimpyohan usab sa dili-BSD-licensed nga mga sangkap nga wala gigamit sa embedded build. Ang gipasimple nga bersyon sa initialization code (crt0) gidugang, ug ang pagpatuman sa lokal nga mga thread gibalhin gikan sa 'struct _reent' ngadto sa TLS nga mekanismo (thread-lokal nga pagtipig). Ang Meson toolkit gigamit alang sa asembliya.

Sa bag-ong pagpagawas:

  • Gidugang ang abilidad sa pagtukod gamit mathematically verified tigkompiler Ang CompCert.
  • Gidugang nga suporta alang sa Clang compiler.
  • Ang kinaiya sa 'gamma' function gipahiuyon sa kinaiya sa Glibc.
  • Ang pagpatuman sa nano-malloc nagsiguro nga ang gibalik nga panumduman natangtang.
  • Gipauswag nga pasundayag sa nano-realloc, labi na kung gihiusa ang mga libre nga bloke ug gipalapad ang gidak-on sa tambak.
  • Gidugang ang usa ka hugpong sa mga pagsulay aron masusi ang husto nga operasyon sa malloc.
  • Gipauswag nga suporta alang sa plataporma sa Windows ug gidugang ang abilidad sa pagtukod gamit ang mingw toolkit.
  • Sa mga sistema sa ARM, kung anaa, ang TLS (Thread-Local Storage) nga rehistro sa hardware gipagana.

Source: opennet.ru