Ukukhutshwa kwethala leencwadi elisemgangathweni le-C PicoLibc 1.8.9

Ukukhutshwa kwethala leencwadi eliqhelekileyo le-C i-PicoLibc 1.8.9, ephuhliswe nguKeith Packard (inkokeli yeprojekthi ye-X.Org) ukuze isetyenziswe kwizixhobo ezifakelweyo ezinokugcinwa okulinganiselwe kunye ne-RAM, ishicilelwe. Ngexesha lophuhliso, inxalenye yekhowudi yayibolekwe kwilayibrari entsha kwiprojekthi yeCygwin kunye ne-AVR Libc, eyenzelwe i-Atmel AVR microcontrollers. Ikhowudi yePicoLibc isasazwa phantsi kwelayisensi yeBSD. Indibano yethala leencwadi ixhaswa kwi-ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch kunye ne-OpenRisc architectures.

Ekuqaleni, le projekthi yaphuhliswa phantsi kwegama elithi "newlib-nano" kwaye ijolise ekusebenzeni kwakhona eminye yemisebenzi enzima ye-Newlib, eyayiyingxaki ekusebenziseni izixhobo ezifakwe kwi-RAM encinci. Ngokomzekelo, kwi-PicoLibc imisebenzi ye-stdio ithathelwa indawo ngoguqulelo oluhlangeneyo olusuka kwilayibrari ye-avrlibc. Ikhowudi ikwacinyiwe kumacandelo angasetyenziswanga kwindibano yesixhobo efakwe ngaphakathi engabonelelwanga phantsi kwelayisensi ye-BSD. Uguqulelo olulula lwekhowudi yokuqalisa (crt0) yongeziwe, kwaye ukuphunyezwa kweefowuni kukhutshelwe ukusuka ku-'struct _reent' ukuya kwi-TLS (ukugcinwa kwentambo yendawo). I-Meson toolkit isetyenziselwa ukudibanisa.

Kukhupho olutsha:

  • Inkxaso eyongeziweyo ye-LoongArch, i-OpenRISC kunye ne-LatticMico32 izakhiwo.
  • Ukuphunyezwa kwefayili yentloko ye-char.h eyaziswa kumgangatho we-C11 kucetywayo.
  • Isetingi eyongeziweyo ye-nano-malloc-ecacileyo-ekhululekileyo yokucoca inkumbulo ekhululwe emva kwesimahla () okanye realloc ().
  • Kuphunyezwe ukukwazi ukusebenzisa i-clang multilib kwiinkqubo ze-ARM64.
  • Ukutshintshela kwi-picolibc-ci-tools toolkit entsha yokudibanisa ngokuzenzekelayo kwiinkqubo eziqhubekayo zokudibanisa igqityiwe.
  • Uyilo lwe-MIPS luxhasa itekhnoloji ye-"semihosting", evumela ukuba ikhowudi isebenze kwi-debugger okanye i-emulator bume ukuba isebenzise iindlela ze-I/O ze-host system.
  • I-picicrt eyongeziweyo kunye nenkxaso ye-semihost yeeprosesa ze-Xtensa.
  • Iisetingi ezongeziweyo zokusetyenziswa ngeCoreBoot.
  • Yongeza i-memset_explicit () umsebenzi, owaziswa kumgangatho we-C23.
  • Iitheyibhile zokuguqulwa kwamatyala zihlaziywe kwiinkcazo ze-Unicode 15.1.0.
  • Imisebenzi asnprintf() kunye vasnprintf() zisusiwe kwilayibrari entsha.
  • Inkxaso eyongeziweyo ye-FVP (i-Fixed Virtual Platforms) i-emulator ephuhliswe yi-ARM.
  • Inkxaso eyongeziweyo yeenguqulelo ezindala ze-GCC compiler (ezindala kune-4.4).
  • I-iconv kunye nokuphunyezwa kwendawo kuthathelwe indawo ngeenguqulelo ezithe kratya ezisebenzisa ikhowudi eqhelekileyo yokusebenza ngeekhowudi.

umthombo: opennet.ru

Yongeza izimvo