U-Keith Packard, unjiniyela we-Debian osebenzayo, umholi wephrojekthi ye-X.Org nomdali wezandiso eziningi ze-X, okuhlanganisa i-XRender, i-XComposite ne-XRandR,
U-Keith Packard waqala ukuthuthukiswa ngemva kokungakwazi ukuthola inketho ye-Libc ehloniphekile engasetshenziswa kumadivayisi ashumekiwe ane-RAM encane. Lo msebenzi ubulokhu uthuthukiswa kusukela ngonyaka odlule. Esigabeni sokuqala, iphrojekthi ibihlukile kwe-newlib, imisebenzi ye-stdio lapho kwathathelwa indawo inguqulo ehlangene evela ku-avrlibc (i-stdio ku-newlib yayingafanele ukusetshenziswa kwayo kwezinsiza eziphezulu). Njengoba umsebenzi kaKeith wamanje uhlanganisa umsebenzi oqhubekayo ne-RISC-V yezakhiwo kanye nokuthuthukiswa kwamathuluzi emishini eshumekiwe, usanda kubuyekeza isimo sokuqaliswa kwe-libc futhi waphetha ngokuthi ngokulungisa kancane, inhlanganisela ye-newlib ne-avrlibc ingaba inhloso evamile evamile. isisombululo. Ekuqaleni, iphrojekthi yathuthukiswa ngaphansi kwegama elithi "newlib-nano", kodwa ukugwema ukudideka nomtapo wezincwadi waseNewlib yaqanjwa kabusha ngokuthi i-PicoLibc.
Ngendlela yayo yamanje, i-Picolibc isivele yenze umsebenzi wokususa yonke ikhodi enganikezwanga ngaphansi kwelayisense ye-BSD (le khodi ayizange isetshenziswe lapho kwakhiwe imishini eshumekiwe), okusenze salula kakhulu isimo ngelayisensi yephrojekthi. Ukuqaliswa kokusakaza kwasendaweni kususiwe ku-'struct _reent' kwayiswa endleleni ye-TLS (
Kunguqulo ye-Picolibc 1.1:
- Kwengezwe umtapo wolwazi wokusekela ubuchwepheshe "
ukusingathwa kancane "ivumela ikhodi esebenza endaweni yokulungisa iphutha noma yokulingisa ukusebenzisa izindlela ze-I/O zesistimu yokusingatha; - Kuzinhlelo ezisekela izingcingo zesistimu ezivuliwe, ezivalayo, ezifundwayo, nezibhalayo, i-tinystdio yengeza izixhumanisi ezijwayelekile ze-POSIX stdio I/O, okufaka phakathi imisebenzi ye-fopen ne-fdopen, kanye nokubophezela okuthi stdin/stdout/stderr kuzichazi zefayela ezichazwe yi-POSIX;
- Izinguquko zakamuva ezivela ku-newlib codebase zidluliselwe. Kubandakanya ama-libm stubs angeziwe we
fenv.h , engasetshenziswa ezinhlelweni ngaphandle kokusekela iphuzu elintantayo; - Kwengezwe isibonelo sokwakha uhlelo lokusebenza lwe-"Sawubona mhlaba" nge-picolibc yezinhlelo ze-ARM ne-RISC-V;
- Kukhishwe uhla lwemibhalo lwe-newlib, i-libm ne-mathfp, equkethe ikhodi yokuhlola engasetshenziswanga.
Source: opennet.ru