Publication de GNU Mes 0.27, un outil pour la construction autonome de distributions

La publication de l'outil GNU Mes 0.27 a été annoncée, permettant le processus de bootstrap pour GCC et permettant d'atteindre un cycle de reconstruction fermé à partir des sources. Cet outil résout le problème de l'initialization vérifiée du compilateur dans les distributions, brisant la chaîne de reconstruction cyclique (la compilation d'un compilateur nécessite des fichiers exécutables déjà compilés, et les compilations binaires du compilateur peuvent contenir des backdoors cachées, ce qui ne permet pas de garantir l'intégrité des compilations à partir des sources de référence).

GNU Mes propose un interpréteur autonome pour le langage Scheme, écrit en C, ainsi qu'un compilateur simple pour le langage C (MesCC), écrit en Scheme. Les deux composants sont mutuellement assemblables. L'interpréteur Scheme permet de compiler le compilateur C MesCC, qui à son tour permet de compiler une version allégée du compilateur TinyCC (tcc), dont les fonctionnalités sont suffisantes pour compiler GCC.

L'interpréteur du langage Scheme est très compact, comptant environ 5000 lignes de code utilisant un sous-ensemble simple du langage C, et peut être transformé en un fichier exécutable à l'aide du traducteur universel M2-Planet ou d'un compilateur C simple, assemblé avec un assembleur auto-assemblant hex0, ne nécessitant pas de dépendances externes. L'interpréteur inclut également un ramasse-miettes complet et fournit une bibliothèque de modules chargés. Le projet développe également la bibliothèque C Mes, suffisante pour assembler glibc 2.2.5, binutils 2.20.1 et gcc 2.95.3, nécessaires pour déployer la distribution Guix sur les plateformes i686-linux, x86_64-linux, armhf-linux et aarch64-linux, en utilisant uniquement les sources (Full Source Bootstrap).

Dans cette nouvelle version, le support pour exécuter Mes dans l'environnement GNU Hurd a été rétabli. Nouvelles modules ajoutés : rnrs (arithmétique bit à bit) et srfi (srfi-39). Pour la compatibilité avec Guile, le module srfi est chargé par défaut. Nouvelles fonctions ajoutées : pair-for-each et with-fluids*. Le compilateur MesCC permet désormais de travailler avec des modules pour générer des parseurs et des analyseurs lexicaux NYACC de la version 0.99.0 à 1.09.4. L'utilisation des anciens modules de style mes pour NYACC et MesCC a été supprimée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster