De release van de standaard C-bibliotheek PicoLibc 1.8.6

De release van de standaard C-bibliotheek PicoLibc 1.8.6 is gepubliceerd, ontwikkeld door Keith Packard (de projectleider van X.Org) voor gebruik op embedded apparaten met beperkte opslagcapaciteit en RAM. Bij de ontwikkeling is een deel van de code overgenomen uit de newlib-bibliotheek van het Cygwin-project en AVR Libc, die ontwikkeld is voor Atmel AVR microcontrollers. De code van PicoLibc wordt verspreid onder de BSD-licentie. De bibliotheek ondersteunt de assemblage voor de architecturen ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k en PowerPC.

Oorspronkelijk werd het project ontwikkeld onder de naam 'newlib-nano' en was het gericht op het herschrijven van enkele resource-intensievere functies van Newlib, die moeilijk te gebruiken waren op embedded apparaten met een klein RAM. Bijvoorbeeld, in PicoLibc zijn de stdio-functies vervangen door een compacte variant uit de avrlibc-bibliotheek. De code is ook ontdaan van ongebruikte componenten die niet onder de BSD-licentie worden geleverd. Een vereenvoudigde versie van de initialisatiecode (crt0) is toegevoegd, en de implementatie van aanroepen is overgezet van 'struct _reent' naar een TLS-mechanisme (thread-local storage). Voor de bouw wordt het Meson-toolkit gebruikt.

In de nieuwe release:

  • Wijzigingen uit Newlib 4.4.0 zijn overgenomen, zoals de ondersteuning van het type 'long double' op de architecturen i386, RISC-V, Aarch64 en x86_64, de ondersteuning van de RISC-V Zfinx/Zdinx extensies, de mogelijkheid om maskers te gebruiken bij het invoegen van mappen, de implementatie van een poort voor Xtensa-processors, en het scheiden van printf-handlers in afzonderlijke bestanden om de grootte tijdens het linken te verkleinen.
  • In picolibc.ld zijn de symbolen '__eh_*' toegevoegd voor LLVM libunwind.
  • Ondersteuning voor 32-bit SPARC-systemen is toegevoegd in testvorm.
  • Ondersteuning is geboden voor doelplatforms met ongewone types met zwevende komma, die nu worden weergegeven in 32-, 64-, 80- en 128-bit types in de code van picolibc.
  • Ondersteuning voor de RISC-architectuur SuperH is toegevoegd.
  • De stacktracing is verbeterd bij het debuggen van uitzonderingcodes op RISC-V-systemen.
  • De optie '-Dfast-bufio=true' is toegevoegd om de efficiĆ«ntie van lezen en schrijven met bufio te verhogen.
  • Publieke inline-functies zijn opgeschoond voor het delen van gnu_inline-semantiek.
  • De meeste fenv-functies zijn omgezet naar het gebruik van inline-functies (gnu_inline) in plaats van reguliere functies om de prestaties te verbeteren.
  • Er is een alternatieve implementatie van ctype gemaakt, waarin geen ctype-array wordt gebruikt en directe vergelijking van waarden plaatsvindt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster