Uitgave van GNU Mes 0.22, een toolkit voor de zelfvoorzienende opbouw van distributies

GeĆÆntroduceerd uitgave van de toolkit GNU Mes 0.22, dat het bootstrappingproces voor GCC mogelijk maakt en een gesloten reconstructielus uit bronbestanden mogelijk maakt.
De toolkit lost het probleem van een geverifieerde initiƫle compilerbuild op in distributies, door de cyclus van wederopbouw te doorbreken (voor het bouwen van de compiler zijn uitvoerbare bestanden van de reeds gebouwde compiler vereist, en binaire builds van de compiler zijn een potentiƫle bron van verborgen backdoors, wat volledige integriteit van builds uit referentiebronnen onmogelijk maakt).

In GNU Mes wordt aangeboden een zelfvoorzienende (self-hosting) interpreter voor de programmeertaal Scheme, geschreven in C, en de eenvoudigste compiler voor de programmeertaal C (MesCC), geschreven in Scheme. Beide componenten zijn wederzijds bouwbaar. De Scheme-interpreter maakt het mogelijk om de C-compiler MesCC te bouwen, die op zijn beurt een verkorte versie van de compiler kan bouwen TinyCC (tcc), waarvan de mogelijkheden al genoeg zijn voor het bouwen van GCC.

De interpreter van de Scheme-taal is vrij compact, beslaat ongeveer 5000 regels code in het eenvoudigste subset van de C-taal en kan worden omgezet in een uitvoerbaar bestand met behulp van een universele compiler M2-Planet of de eenvoudigste C-compiler, gebouwd met behulp van een zelfbouw assembler hex0, die geen externe afhankelijkheden vereist. De interpreter omvat bovendien een volledige garbage collector en biedt een bibliotheek van laadtmodules.

In de nieuwe release is ondersteuning voor herhaalbare builds toegevoegd met behulp van bundels mes+mescc of guile+mescc in de GNU Guix, Debian GNU/Linux en NixOS distributies. De mogelijkheid om de Scheme-interpreter Mes op GNU Hurd uit te voeren is toegevoegd, maar de C-compiler mescc werkt nog niet vanwege het ontbreken van ondersteuning voor de benodigde systeemoproepen (zoals fork/exec). Initiƫle ondersteuning voor het creƫren van uitvoerbare bestanden op FreeBSD is toegevoegd. Verbeterde ondersteuning voor het bootstrappen van de Guix-distributie met alleen componenten in de Scheme-taal (de shell Gash (Guile als Shell) in plaats van bash en Gash Core Utils in plaats van coreutils, grep, sed, gzip, make, awk en tar).

In volgende releases wordt ondersteuning voor bootstrapping voor NixOS verwacht, evenals bootstrapping alleen met componenten in de Scheme-taal in de wip-bootstrap branch, ondersteuning voor de ARM-architectuur, de mogelijkheid om Mes.c te compileren met behulp van M2-Planet, volledige ondersteuning voor Guile-modules, en ervoor zorgen dat mescc werkt met de Hurd-kernel.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster