เบเบฒเบ™เบ›เปˆเบญเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ PicoLibc 1.8.9

เบเบฒเบ™เบ›เปˆเบญเบเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ PicoLibc 1.8.9, เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Keith Packard (เบœเบนเป‰เบ™เปเบฒเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ X.Org) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบ•เบปเบงเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบˆเปเบฒเบเบฑเบ”เปเบฅเบฐ RAM, เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบขเบทเบกเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” newlib เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ Cygwin เปเบฅเบฐ AVR Libc, เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบš Atmel AVR microcontrollers. เบฅเบฐเบซเบฑเบ” PicoLibc เบ–เบทเบเปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD. เบเบฒเบ™เบ›เบฐเบเบญเบšเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบš ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch เปเบฅเบฐ OpenRisc.

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ "newlib-nano" เปเบฅเบฐเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบซเบกเปˆเบšเบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡ Newlib, เป€เบŠเบดเปˆเบ‡เบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบ—เบตเปˆเบกเบต RAM เบซเบ™เป‰เบญเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ PicoLibc เบŸเบฑเบ‡เบŠเบฑเบ™ stdio เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” avrlibc. เบฅเบฐเบซเบฑเบ”เบเบฑเบ‡เบ–เบทเบเบฅเบถเบšเบฅเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD. เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบšเบšเบ‡เปˆเบฒเบเบ”เบฒเบ (crt0) เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ—เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เบˆเบฒเบ 'struct _reent' เป„เบ›เบซเบฒเบเบปเบ™เป„เบเบเบฒเบ™ TLS (thread-local storage). เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Meson เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš.

เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ:

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ LoongArch, OpenRISC เปเบฅเบฐ LatticMico32.
  • เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบซเบปเบง uchar.h เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ C11 เปเบกเปˆเบ™เบชเบฐเป€เบซเบ™เบต.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ nano-malloc-clear-freed เป€เบžเบทเปˆเบญเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเบซเบผเบฑเบ‡เบˆเบฒเบ free() เบซเบผเบท realloc().
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ clang multilib เปƒเบ™เบฅเบฐเบšเบปเบš ARM64.
  • เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท picolibc-ci-tools เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบกเปˆเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปเบฅเป‰เบง.
  • เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ MIPS เบฎเบญเบ‡เบฎเบฑเบšเป€เบ—เบเป‚เบ™เป‚เบฅเบเบต "semihosting", เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ”เบตเบšเบฑเบ เบซเบผเบทเบ•เบปเบงเบˆเบณเบฅเบญเบ‡เปƒเบŠเป‰เบเบปเบ™เป„เบ I/O เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป‚เบฎเบช.
  • เป€เบžเบตเปˆเบก picocrt เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ semihost เบชเปเบฒเบฅเบฑเบšเป‚เบ›เป€เบŠเบ”เป€เบŠเบต Xtensa.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเปƒเบŠเป‰เบเบฑเบš CoreBoot.
  • เป€เบžเบตเปˆเบกเบŸเบฑเบ‡เบŠเบฑเบ™ memset_explicit(), เปเบ™เบฐเบ™เปเบฒเปƒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ C23.
  • เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เปเบ›เบ‡เบเปเบฅเบฐเบ™เบตเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบฑเบ™เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡ Unicode 15.1.0.
  • เบŸเบฑเบ‡เบŠเบฑเบ™ asnprintf() เปเบฅเบฐ vasnprintf() เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” newlib.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš emulator FVP (Fixed Virtual Platforms) เบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ ARM.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก GCC เบฎเบธเปˆเบ™เป€เบเบปเปˆเบฒ (เป€เบเบปเปˆเบฒเบเบงเปˆเบฒ 4.4).
  • เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” iconv เปเบฅเบฐเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบเบงเปˆเบฒเบ—เบตเปˆเปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™