Veröffentlichung der Standard-C-Bibliothek PicoLibc 1.4.7

Keith Packard, aktiver Entwickler von Debian, Projektleiter von X.Org und Schöpfer vieler X-Erweiterungen, darunter XRender, XComposite und XRandR, veröffentlichte Veröffentlichung der Standard-C-Bibliothek PicoLibc 1.4.7, die für den Einsatz auf eingebetteten Geräten mit begrenztem Speicherplatz und Arbeitsspeicher entwickelt wird. Bei der Entwicklung wurde ein Teil des Codes aus der Bibliothek newlib vom Cygwin-Projekt und AVR Libc, die für Atmel AVR-Mikrocontroller entwickelt wurde, übernommen. Der PicoLibc-Code wird unter der GPLv3-Lizenz bereitgestellt. steht unter der BSD-Lizenz. Es wird eine Bibliotheksversion für die Architekturen ARM (32-Bit), i386, RISC-V, x86_64 und PowerPC unterstützt.

Das Projekt wurde ursprünglich unter dem Namen „newlib-nano“ entwickelt und zielte darauf ab, einige ressourcenintensive Funktionen von Newlib zu überarbeiten, die auf eingebetteten Geräten mit wenig RAM problematisch zu verwenden waren. Beispielsweise wurden die stdio-Funktionen durch eine kompakte Version aus der Bibliothek avrlibc ersetzt. Der Code wurde auch von nicht in der Embedded-Version verwendeten Komponenten, die nicht unter der BSD-Lizenz bereitgestellt werden, bereinigt. Eine vereinfachte Initialisierungsroutine (crt0) wurde hinzugefügt, und die Implementierung lokaler Threads wurde von 'struct _reent' auf den TLS-Mechanismus umgestellt.Thread-local storage. Um die Kompilierung zu unterstützen, wurde das Meson-Toolchain verwendet.

In der neuen Version:

  • Die Möglichkeit zur Erstellung unter Verwendung von mathematisch verifiziertem Compiler CompCert.
  • Die Unterstützung für den Clang-Compiler wurde hinzugefügt.
  • Das Verhalten der Funktion 'gamma' wurde an das Verhalten von Glibc angepasst.
  • In der nano-malloc-Implementierung ist eine verpflichtende Bereinigung des zurückgegebenen Speichers gewährleistet.
  • Die Leistung von nano-realloc wurde verbessert, insbesondere bei der Durchführung von Operationen zum Zusammenführen freier Blöcke und beim Vergrößern der Heap-Größe.
  • Ein Satz von Tests zur Überprüfung der Funktionsfähigkeit von malloc wurde hinzugefügt.
  • Die Unterstützung für die Windows-Plattform wurde verbessert und die Möglichkeit zur Erstellung mit dem Toolset mingw hinzugefügt.
  • Auf ARM-Systemen wird der Hardware-Register TLS (Thread-Local Storage) verwendet, wenn verfügbar.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster