PicoLibc 1.4.7 Standard C Library Release

Keith Packard, active Debian developer, leader of the X.Org project and creator of many X extensions, including XRender, XComposite and XRandR, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» release of the standard C library PicoLibc 1.4.7, developed for use on embedded devices with a limited amount of permanent storage and RAM. During development, part of the code was borrowed from the library newlib from the Cygwin project and AVR Libc, developed for Atmel AVR microcontrollers. PicoLibc Code spreads under BSD license. Library assembly is supported for ARM (32-bit), i386, RISC-V, x86_64 and PowerPC architectures.

Initially, the project was developed under the name β€œnewlib-nano” and was aimed at reworking some of the resource-intensive functions of Newlib, which were problematic to use on embedded devices with little RAM. For example, the stdio functions have been replaced with a compact version from the avrlibc library. The code has also been cleaned of non-BSD-licensed components not used in the embedded build. A simplified version of the initialization code (crt0) has been added, and the implementation of local threads has been moved from 'struct _reent' to the TLS mechanism (thread-local storage). The Meson toolkit is used for assembly.

In the new release:

  • Added the ability to build using mathematically verified compiler CompCert.
  • Added support for the Clang compiler.
  • The behavior of the 'gamma' function has been brought into line with the behavior of Glibc.
  • The nano-malloc implementation ensures that returned memory is cleared.
  • Improved performance of nano-realloc, especially when merging free blocks and expanding heap size.
  • Added a set of tests to check the correct operation of malloc.
  • Improved support for the Windows platform and added the ability to build using the mingw toolkit.
  • On ARM systems, if available, the TLS (Thread-Local Storage) hardware register is enabled.

Source: opennet.ru