PicoLibc C liburutegi estandarraren kaleratzea 1.4.7

Keith Packard, Debian garatzaile aktiboa, X.Org proiektuaren liderra eta X luzapen askoren sortzailea, XRender, XComposite eta XRandR barne, argitaratu C liburutegi estandarraren kaleratzea PicoLibc 1.4.7, biltegiratze iraunkor eta RAM mugatua duten gailu txertatuetan erabiltzeko garatua. Garapenean, kodearen zati bat liburutegitik mailegatu zen newlib Cygwin proiektutik eta AVR Libc, Atmel AVR mikrokontrolagailuetarako garatua. PicoLibc kodea arabera banatuta BSD lizentziapean. Liburutegien muntaia ARM (32 biteko), i386, RISC-V, x86_64 eta PowerPC arkitektuetarako onartzen da.

Hasieran, proiektua "newlib-nano" izenarekin garatu zen eta Newlib-en baliabide intentsiboko funtzio batzuk berriro lantzea zuen helburu, RAM gutxi zuten gailu txertatuetan erabiltzeko arazoak zirenak. Adibidez, stdio funtzioak avrlibc liburutegiko bertsio trinko batekin ordezkatu dira. Kodea txertatutako eraikuntzan erabiltzen ez diren BSD lizentziadun osagaietatik ere garbitu da. Hasierako kodearen (crt0) bertsio sinplifikatu bat gehitu da, eta tokiko harien inplementazioa 'struct _reent'-tik TLS mekanismora eraman da (hari-lokal biltegiratzea). Meson tresnak muntatzeko erabiltzen da.

Argitalpen berrian:

  • Erabiliz eraikitzeko gaitasuna gehitu da matematikoki egiaztatuta konpilatzailea CompCert.
  • Clang konpiladorearen euskarria gehitu da.
  • 'Gamma' funtzioaren portaera Glibc-en portaerarekin bat etorri da.
  • Nano-malloc inplementazioak itzultzen den memoria garbitzen dela bermatzen du.
  • Nano-realloc-en errendimendua hobetu da, batez ere bloke libreak batzean eta heap-aren tamaina zabaltzean.
  • Malloc-en funtzionamendu zuzena egiaztatzeko proba multzo bat gehitu da.
  • Windows plataformarako euskarria hobetu da eta mingw tresna-kit erabiliz eraikitzeko gaitasuna gehitu da.
  • ARM sistemetan, eskuragarri badago, TLS (Thread-Local Storage) hardware-erregistroa gaituta dago.

Iturria: opennet.ru