Veröffentlichung von GNU Mes 0.23, einem Werkzeug zur selbständigen Erstellung von Distributionen

Nach einem Jahr der Entwicklung wurde das GNU Mes 0.23-Toolset veröffentlicht, das den Bootstrapping-Prozess für GCC ermöglicht und einen geschlossenen Rebuild-Zyklus aus Quelltexten gewährleistet. Das Toolset löst das Problem des verifiziert gestarteten Compiler-Baus in Distributionen, indem es die Kette der zyklischen Neubauten durchbricht (für den Bau des Compilers sind ausführbare Dateien eines bereits gebauten Compilers erforderlich, und binäre Compiler-Bauten sind potenzielle Quellen von versteckten Hintertüren, was es unmöglich macht, die Integrität der Bauten aus Referenz-Quelltexten vollständig zu garantieren).

GNU Mes bietet einen autarken (self-hosting) Interpreter für die Programmiersprache Scheme, geschrieben in C, sowie einen einfachen Compiler für C (MesCC), der in Scheme geschrieben ist. Beide Komponenten sind gegenseitig kompilierbar. Der Scheme-Interpreter ermöglicht die Erstellung des C-Compilers MesCC, der wiederum die Erstellung einer abgespeckten Version des Compilers TinyCC (tcc) erlaubt, dessen Funktionen bereits ausreichen, um GCC zu erstellen.

Der Interpreter der Sprache Scheme ist relativ kompakt, umfasst etwa 5000 Codezeilen im einfachsten Teilmenü der C-Sprache und kann mit dem universellen Trans compiler M2-Planet oder einem simplen C-Compiler, der mit dem selbstkompilierenden Assembler hex0 erstellt wurde, in eine ausführbare Datei umgewandelt werden, der keine externen Abhängigkeiten benötigt. Dabei enthält der Interpreter einen vollwertigen Garbage Collector und stellt eine Bibliothek an ladbaren Modulen zur Verfügung.

In der neuen Version wird die Unterstützung für die ARM-Architektur (armhf-linux und aarch-linux) eingeführt. Es wurde die Möglichkeit hinzugefügt, Mes zusammen mit einer reduzierten Menge von Bootstrap-Dateien aus dem GNU Guix-Projekt (GNU Guix Reduced Binary Seed) zu verwenden. Die Unterstützung für das Bauen von Mes und der Mes C-Bibliothek mit GCC 10.x wurde realisiert. Der Compiler MesCC liefert die eigene Bibliothek libmescc.a (-lmescc), und beim Bauen mit GCC wird jetzt „-lgcc“ angegeben. Die Unterstützung für das Bauen von MesCC mit Guile 3.0.x wurde bereitgestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4