Utjefte fan de standert C-bibleteek PicoLibc 1.4.7

Keith Packard, aktive Debian-ûntwikkelder, lieder fan it X.Org-projekt en makker fan in protte X-útwreidings, ynklusyf XRender, XComposite en XRandR, publisearre frijlitting fan de standert C bibleteek PicoLibc 1.4.7, ûntwikkele foar gebrûk op ynbêde apparaten mei beheinde permaninte opslach en RAM. By de ûntwikkeling waard in part fan de koade liend út de bibleteek nijlib út it Cygwin projekt en AVR Libc, ûntwikkele foar Atmel AVR mikrocontrollers. PicoLibc koade ferspraat troch ûnder BSD lisinsje. Biblioteekgearkomste wurdt stipe foar ARM (32-bit), i386, RISC-V, x86_64 en PowerPC-arsjitektuer.

Yn it earstoan waard it projekt ûntwikkele ûnder de namme "newlib-nano" en wie rjochte op it werwurkjen fan guon fan 'e boarne-yntinsive funksjes fan Newlib, dy't problematysk wiene om te brûken op ynbêde apparaten mei in bytsje RAM. Bygelyks, de stdio-funksjes binne ferfongen troch in kompakte ferzje fan 'e avrlibc-bibleteek. De koade is ek skjinmakke fan net-BSD-lisinsje komponinten dy't net brûkt wurde yn 'e ynbêde build. In ferienfâldige ferzje fan de inisjalisaasjekoade (crt0) is tafoege, en de ymplemintaasje fan lokale diskusjes is ferpleatst fan 'struct _reent' nei it TLS-meganisme (thread-lokale opslach). De Meson toolkit wurdt brûkt foar montage.

Yn de nije release:

  • Tafoege de mooglikheid om te bouwen mei help wiskundich ferifiearre gearstaller CompCert.
  • Stipe tafoege foar de Clang-kompiler.
  • It gedrach fan 'e 'gamma'-funksje is yn oerienstimming brocht mei it gedrach fan Glibc.
  • De ymplemintaasje fan nano-malloc soarget derfoar dat weromjûn ûnthâld wurdt wiske.
  • Ferbettere prestaasjes fan nano-realloc, foaral by it fusearjen fan frije blokken en it útwreidzjen fan heapgrutte.
  • In set tests tafoege om de juste wurking fan malloc te kontrolearjen.
  • Ferbettere stipe foar it Windows-platfoarm en tafoege de mooglikheid om te bouwen mei de mingw toolkit.
  • Op ARM-systemen, as beskikber, is it hardwareregister TLS (Thread-Local Storage) ynskeakele.

Boarne: opennet.ru