Rilaxx tal-librerija C standard PicoLibc 1.4.7

Keith Packard, żviluppatur Debian attiv, mexxej tal-proġett X.Org u kreatur ta' ħafna estensjonijiet X inklużi XRender, XComposite u XRandR, ippubblikati rilaxx tal-librerija C standard PicoLibc 1.4.7, żviluppat għall-użu fuq apparati inkorporati b'ħażna permanenti limitata u RAM. Matul l-iżvilupp, parti mill-kodiċi ġiet mislufa mil-librerija newlib mill-proġett Cygwin u AVR Libc, żviluppat għal mikrokontrolluri Atmel AVR. Kodiċi PicoLibc imqassma minn taħt liċenzja BSD. L-assemblaġġ tal-librerija huwa appoġġjat għall-arkitetturi ARM (32-bit), i386, RISC-V, x86_64 u PowerPC.

Inizjalment, il-proġett ġie żviluppat taħt l-isem "newlib-nano" u kien immirat biex jinħadmu mill-ġdid xi wħud mill-funzjonijiet li jużaw ħafna riżorsi ta 'Newlib, li kienu problematiċi biex jintużaw fuq apparati inkorporati bi ftit RAM. Pereżempju, il-funzjonijiet stdio ġew sostitwiti b'verżjoni kompatta mil-librerija avrlibc. Il-kodiċi tnaddaf ukoll minn komponenti mhux liċenzjati BSD mhux użati fil-bini inkorporat. Ġiet miżjuda verżjoni simplifikata tal-kodiċi tal-inizjalizzazzjoni (crt0), u l-implimentazzjoni tal-ħjut lokali ġiet imċaqalqa minn 'struct _reent' għall-mekkaniżmu TLS (ħażna lokali tal-ħajt). Il-Meson toolkit jintuża għall-assemblaġġ.

Fir-rilaxx il-ġdid:

  • Miżjud l-abbiltà li tibni bl-użu verifikati matematikament kompilatur CompCert.
  • Appoġġ miżjud għall-kompilatur Clang.
  • L-imġiba tal-funzjoni 'gamma' ġiet konformi mal-imġieba ta' Glibc.
  • L-implimentazzjoni nano-malloc tiżgura li l-memorja rritornata titneħħa.
  • Prestazzjoni mtejba tan-nano-realloc, speċjalment meta jingħaqdu blokki ħielsa u jespandu d-daqs tal-borġ.
  • Żid sett ta 'testijiet biex jiċċekkja l-operat korrett ta' malloc.
  • Appoġġ imtejjeb għall-pjattaforma tal-Windows u żiedet il-kapaċità li tibni bl-użu tal-għodda tal-mingw.
  • Fuq sistemi ARM, jekk disponibbli, ir-reġistru tal-ħardwer TLS (Thread-Local Storage) huwa attivat.

Sors: opennet.ru