UtgÄvan av den standardiserade C-biblioteket PicoLibc 1.8.6

Utgivningen av standard C-biblioteket PicoLibc 1.8.6 har publicerats, utvecklat av Keith Packard (projektledare för X.Org) för anvÀndning pÄ inbyggda enheter med begrÀnsad storlek pÄ permanent lagring och RAM. Under utvecklingen lÄnades delar av koden frÄn newlib-biblioteket frÄn Cygwin-projektet och AVR Libc, som utvecklades för Atmel AVR-mikrokontroller. Koden för PicoLibc distribueras under BSD-licensen. Biblioteket stöder byggnation för ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k och PowerPC-arkitekturer.

Inledningsvis utvecklades projektet under namnet "newlib-nano" och syftade till att omarbeta vissa resurskrĂ€vande funktioner frĂ„n Newlib som var problematiska att anvĂ€nda pĂ„ inbyggda enheter med liten RAM. Till exempel har stdio-funktioner i PicoLibc ersatts med en kompakt version frĂ„n avrlibc-biblioteket. Koden har ocksĂ„ rensats frĂ„n oanvĂ€nda komponenter som inte sprids under BSD-licens för att anvĂ€ndas pĂ„ inbyggda enheter. En förenklad version av initialiseringskoden (crt0) har lagts till och implementeringen av anrop har överförts frĂ„n ‘struct _reent’ till en TLS (trĂ„d-lokal lagring) mekanism. Verktyget Meson har anvĂ€nts för byggnation.

I den nya utgÄvan:

  • Ändringar frĂ„n Newlib 4.4.0 har integrerats, inklusive stöd för typen "long double" pĂ„ i386-, RISC-V-, Aarch64- och x86_64-arkitekturerna, stöd för RISC-V Zfinx/Zdinx-tillĂ€gg, möjlighet att anvĂ€nda masker vid inlĂ€gg av kataloger, implementering av porten för Xtensa-processorer samt separera printf-behandlare i egna filer för att minska storleken under lĂ€nkning.
  • Symboler som "__eh_*" har lagts till i picolibc.ld för LLVM libunwind.
  • Teststöd för 32-bitars SPARC-system har inkluderats.
  • Stöd för mĂ„lplattformar med atypiska flyttalstyper har sĂ€kerstĂ€llts, vilket nu Ă„terspeglas i 32-, 64-, 80- och 128-bitars typer i picolibc-koden.
  • Stöd för RISC-arkitekturen SuperH har lagts till.
  • StackspĂ„rning under felkodning pĂ„ RISC-V-system har förbĂ€ttrats.
  • Alternativet "-Dfast-bufio=true" har lagts till för att öka effektiviteten vid lĂ€sning och skrivning med bufio.
  • Offentliga inline-funktioner har rensats för att dela semantik av gnu_inline.
  • De flesta fenv-funktioner har översatts för att öka prestandan genom att anvĂ€nda inline-funktioner (gnu_inline) i stĂ€llet för vanliga.
  • En alternativ implementation av ctype har skapats som inte anvĂ€nder en ctype-array, utan istĂ€llet gör en direkt jĂ€mförelse av vĂ€rden.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster