Hoʻokuʻu ʻia o ka waihona C maʻamau PicoLibc 1.4.7

ʻO Keith Packard, ka mea hoʻomohala Debian ikaika, alakaʻi o ka papahana X.Org a me ka mea nāna i hana i nā hoʻonui X he nui, me XRender, XComposite a me XRandR, hoolaha hoʻokuʻu i ka waihona C maʻamau PicoLibc 1.4.7, i hoʻomohala ʻia no ka hoʻohana ʻana i nā mea i hoʻopili ʻia me ka palena paʻa paʻa a me ka RAM. I ka wā o ka hoʻomohala ʻana, ua ʻaiʻē ʻia kekahi hapa o ke code mai ka waihona newlib mai ka papahana Cygwin a AVR Libc, hoʻomohala ʻia no nā microcontrollers Atmel AVR. PicoLibc code mahele ʻia e ma lalo o ka laikini BSD. Kākoʻo ʻia ka hui waihona no ARM (32-bit), i386, RISC-V, x86_64 a me PowerPC architectures.

I ka hoʻomaka ʻana, ua hoʻomohala ʻia ka papahana ma lalo o ka inoa "newlib-nano" a ua manaʻo ʻia e hana hou i kekahi o nā hana koʻikoʻi o Newlib, kahi pilikia e hoʻohana ai i nā mea i hoʻopili ʻia me ka RAM liʻiliʻi. No ka laʻana, ua hoʻololi ʻia nā hana stdio me kahi mana paʻa mai ka waihona avrlibc. Ua hoʻomaʻemaʻe ʻia ke code mai nā mea laikini ʻole BSD i hoʻohana ʻole ʻia i loko o ka hale i hoʻopili ʻia. Ua hoʻohui ʻia kahi mana maʻalahi o ka code initialization (crt0), a ua hoʻoneʻe ʻia ka hoʻokō ʻana o nā pae kūloko mai 'struct _reent' i ka mīkini TLS (pae-lokal waihona). Hoʻohana ʻia ka pahu hana Meson no ka hui ʻana.

I ka hoʻokuʻu hou:

  • Hoʻohui i ka hiki ke kūkulu me ka hoʻohana ʻana hōʻoia makemakika mea hōʻuluʻulu CompCert.
  • Hoʻohui kākoʻo no ka Clang compiler.
  • Ua hoʻohālikelike ʻia ka hana o ka 'gamma' me ke ʻano o Glibc.
  • ʻO ka hoʻokō nano-malloc e hōʻoia i ka holoi ʻia ʻana o ka hoʻomanaʻo.
  • Hoʻomaikaʻi i ka hana o nano-realloc, ʻoi aku ka nui o ka hoʻohui ʻana i nā poloka manuahi a hoʻonui i ka nui puʻu.
  • Hoʻohui i kahi hoʻāʻo e nānā i ka hana kūpono o malloc.
  • Hoʻonui i ke kākoʻo no ka Windows platform a hoʻohui i ka hiki ke kūkulu me ka hoʻohana ʻana i ka mingw toolkit.
  • Ma nā ʻōnaehana ARM, inā loaʻa, hiki ke hoʻopaʻa inoa ʻo TLS (Thread-Local Storage).

Source: opennet.ru