Ntọhapụ nke ọbá akwụkwọ C ọkọlọtọ PicoLibc 1.4.7

Keith Packard, onye nrụpụta Debian na-arụsi ọrụ ike, onye ndu nke ọrụ X.Org na onye okike nke ọtụtụ ndọtị X, gụnyere XRender, XComposite na XRandR, bipụtara ntọhapụ nke ọbá akwụkwọ ọkọlọtọ C PicoLibc 1.4.7, emepụtara maka ojiji na ngwaọrụ agbakwunyere nwere oke nchekwa na-adịgide adịgide yana RAM. N'oge mmepe, agbaziri akụkụ nke koodu ahụ n'ọbá akwụkwọ ọhụrụlib site na oru ngo Cygwin na AVR Libc, mepụtara maka microcontrollers Atmel AVR. Koodu PicoLibc kesara site n'okpuru ikikere BSD. A na-akwado ọgbakọ ọbá akwụkwọ maka ARM (32-bit), i386, RISC-V, x86_64 na ihe owuwu PowerPC.

Na mbụ, a na-emepụta ọrụ ahụ n'okpuru aha "newlib-nano" ma e bu n'obi na-arụ ọrụ ụfọdụ n'ime ihe ndị dị mkpa nke Newlib, bụ ndị nwere nsogbu iji na ngwaọrụ agbakwunyere na obere RAM. Dịka ọmụmaatụ, ejirila kọmpat si na ọba akwụkwọ avrlibc dochie ọrụ stdio. E hichakwara koodu ahụ site na ngwa ndị na-abụghị BSD nwere ikike ejighi n'ime ụlọ agbakwunyere. agbakwunyere ụdị koodu mmalite (crt0) dị mfe, na mmejuputa nke eriri mpaghara esiwo na 'struct _reent' gaa na usoro TLS (eri-nchekwa mpaghara). A na-eji ngwa Meson eme ihe maka mgbakọ.

Na mwepụta ọhụrụ:

  • Agbakwunyere ikike iji wuo na mgbakọ na mwepụ kwadoro onye nchịkọta CompCert.
  • Nkwado agbakwunyere maka mkpokọta Clang.
  • Emeela ka omume nke ọrụ 'gamma' dabara na omume Glibc.
  • Mmejuputa nano-malloc na-eme ka o doo anya na ekpochapụla ebe nchekwa.
  • Arụmọrụ nano-realloc emelitere, ọkachasị mgbe ị na-ejikọta ihe mgbochi efu yana ịgbasa nha ikpo okwu.
  • Agbakwunyere otu ule iji lelee ọrụ malloc ziri ezi.
  • Nkwado emelitere maka ikpo okwu Windows wee gbakwunye ike iji wuo ngwa site na iji ngwa mingw.
  • Na sistemụ ARM, ọ bụrụ na ọ dị, agbanyere aha ngwaike TLS (Thread-Local Storage).

isi: opennet.ru