Veröffentlichung von GNU Mes 0.23, einem Werkzeug zum selbstständigen Zusammenstellen von Distributionen

Nach einem Jahr Entwicklung wurde das Tool GNU Mes 0.23 veröffentlicht, das den Bootstrapping-Prozess für GCC ermöglicht und einen geschlossenen Loop für die Rekompilierung aus Quelltexten gewährleistet. Das Tool löst das Problem einer verifizierten Erstassemblierung des Compilers in Distributionssystemen und durchbricht die Kette zyklischer Rekompilation (da bei der Erstellung eines Compilers ausführbare Dateien eines bereits kompilierten Compilers benötigt werden und binäre Compiler-Assemblierungen potenzielle Quellen für versteckte Hintertüren darstellen, was eine vollständige Garantie für die Integrität der von Referenzquelltexten erzeugten Assemblierungen ausschließt).

GNU Mes bietet einen selbstlaufenden (self-hosting) Interpreter für die Programmiersprache Scheme, der in C geschrieben ist, sowie einen einfachen Compiler für C (MesCC), der in Scheme geschrieben wurde. Beide Komponenten sind gegenseitig kompilierbar. Der Scheme-Interpreter ermöglicht den Bau des C-Compilers MesCC, der dann zur Erstellung einer abgespeckten Version des Compilers TinyCC (tcc) verwendet werden kann, dessen Funktionen bereits ausreichend sind, um GCC zu kompilieren.

Der Interpreter der Sprache Scheme ist recht kompakt und umfasst etwa 5000 Zeilen Code in einem einfachen Teilmenü der Sprache C. Er kann mit dem universellen Transcompiler M2-Planet oder dem einfachsten C-Compiler, der mit dem selbstreproduzierenden Assembler hex0 erstellt wurde und keine externen Abhängigkeiten benötigt, in eine ausführbare Datei umgewandelt werden. Der Interpreter enthält zudem eine vollwertige Garbage Collection und bietet eine Bibliothek für dynamisch ladbare Module.

In der neuen Ausgabe wurde die Unterstützung für die ARM-Architektur (armhf-linux und aarch-linux) implementiert. Die Möglichkeit zur Nutzung von Mes zusammen mit einem verkleinerten Satz an Bootstrap-Dateien vom GNU Guix-Projekt (GNU Guix Reduced Binary Seed) wurde hinzugefügt. Die Unterstützung für den Aufbau von Mes und der Mes C-Bibliothek mit GCC 10.x wurde realisiert. Der Compiler MesCC liefert nun die eigene Bibliothek libmescc.a (-lmescc), und beim Aufbau mit GCC wird jetzt „-lgcc“ angegeben. Die Unterstützung für den Aufbau von MesCC mit Guile 3.0.x wurde sichergestellt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster