рдорд╛рдирдХ C рдкреБрд╕реНрддрдХрд╛рд▓рдп PicoLibc 1.4.7 рдХреЛ рд░рд┐рд▓реАрдЬ

рдХрд┐рде рдкреНрдпрд╛рдХрд╛рд░реНрдб, рд╕рдХреНрд░рд┐рдп рдбреЗрдмрд┐рдпрди рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛, X.Org рдкрд░рд┐рдпреЛрдЬрдирд╛рдХрд╛ рдиреЗрддрд╛ рд░ XRender, XComposite рд░ XRandR рд╕рд╣рд┐рдд рдзреЗрд░реИ X рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВрдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛, рдкреНрд░рдХрд╛рд╢рд┐рдд рдорд╛рдирдХ рд╕реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд░рд┐рд▓реАрдЬ PicoLibc 1.4.7, рд╕реАрдорд┐рдд рд╕реНрдерд╛рдпреА рднрдгреНрдбрд╛рд░рдг рд░ RAM рднрдПрдХрд╛ рдЗрдореНрдмреЗрдбреЗрдб рдпрдиреНрддреНрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╕рд┐рддред рд╡рд┐рдХрд╛рд╕рдХреЛ рдХреНрд░рдордорд╛, рдХреЛрдбрдХреЛ рдЕрдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдмрд╛рдЯ рдЙрдзрд╛рд░рд┐рдПрдХреЛ рдерд┐рдпреЛ newlib рд╕рд╛рдЗрдЧреНрд╡рд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рд░ AVR Libc, Atmel AVR рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╕рд┐рддред PicoLibc рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд BSD рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрддред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрд╕реЗрдВрдмрд▓реА ARM (32-bit), i386, RISC-V, x86_64 рд░ PowerPC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерд┐рдд рдЫред

рдкреНрд░рд╛рд░рдореНрднрдорд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ "newlib-nano" рдирд╛рдо рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рдиреНрдпреВрд▓рд┐рдмрдХрд╛ рдХреЗрд╣рд┐ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдХрд╛рд░реНрдпрд╣рд░реВ рдкреБрди: рдХрд╛рд░реНрдп рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ рдерд┐рдпреЛ, рдЬреБрди рд╕рд╛рдиреЛ RAM рд╕рдВрдЧ рдЗрдореНрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдерд┐рдпреЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, stdio рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ avrlibc рдкреБрд╕реНрддрдХрд╛рд▓рдпрдмрд╛рдЯ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рд╕рдВрд╕реНрдХрд░рдгрд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдПрдХреЛ рдЫред рдЗрдореНрдмреЗрдбреЗрдб рдмрд┐рд▓реНрдбрдорд╛ рдкреНрд░рдпреЛрдЧ рдирдЧрд░рд┐рдПрдХрд╛ рдЧреИрд░-BSD-рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рднрдПрдХрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдкрдирд┐ рдХреЛрдб рд╕рдлрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдХреЛрдб (crt0) рдХреЛ рдПрдХ рд╕рд░рд▓ рд╕рдВрд╕реНрдХрд░рдг рдердкрд┐рдПрдХреЛ рдЫ, рд░ рд╕реНрдерд╛рдиреАрдп рдереНрд░реЗрдбрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ 'struct _reent' рдмрд╛рдЯ TLS рд╕рдВрдпрдиреНрддреНрд░рдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫ (рдереНрд░реЗрдб-рд╕реНрдерд╛рдиреАрдп рднрдгреНрдбрд╛рд░рдг)ред рдореЗрд╕рди рдЯреБрд▓рдХрд┐рдЯ рдЕрд╕реЗрдВрдмрд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬ рдорд╛:

  • рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ рдЧрдгрд┐рддреАрдп рд░реВрдкрдорд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрдореНрдкрд╛рдЗрд▓рд░ CompCert.
  • Clang рдХрдореНрдкрд╛рдЗрд▓рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред
  • 'рдЧрд╛рдорд╛' рдкреНрд░рдХрд╛рд░реНрдп рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ Glibc рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрдЧ рд▓рд╛рдЗрди рдорд╛ рд▓реНрдпрд╛рдЗрдПрдХреЛ рдЫред
  • nano-malloc рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рдлрд░реНрдХрд╛рдЗрдПрдХреЛ рдореЗрдореЛрд░реА рдЦрд╛рд▓реА рднрдПрдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫред
  • nano-realloc рдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдкреНрд░рджрд░реНрд╢рди, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЬрдм рдирд┐: рд╢реБрд▓реНрдХ рдмреНрд▓рдХрд╣рд░реВ рдорд░реНрдЬ рдЧрд░реНрджрд╛ рд░ рд╣рд┐рдк рд╕рд╛рдЗрдЬ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрджрд╛ред
  • malloc рдХреЛ рд╕рд╣реА рд╕рдЮреНрдЪрд╛рд▓рди рдЬрд╛рдБрдЪ рдЧрд░реНрди рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдХреЛ рд╕реЗрдЯ рдердкрд┐рдпреЛред
  • Windows рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдорд░реНрдерди рд░ mingw рдЯреВрд▓рдХрд┐рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред
  • ARM рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛, рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рдЫ рднрдиреЗ, TLS (рдереНрд░реЗрдб-рд╕реНрдерд╛рдиреАрдп рднрдгреНрдбрд╛рд░рдг) рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рджрд░реНрддрд╛ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕реНрд░реЛрдд: opennet.ru