Udgivelsen af GNU Mes 0.26, et værktøj til selvforsynende byggelse af distributioner

Udgivet er version 0.26 af GNU Mes værktøjet, der understøtter bootstrapping-processen for GCC og muliggør en lukket cyklus for genkompilering fra kildekoder. Værktøjet adresserer behovet for en verificeret initial kompileringsbygning i distributioner, hvilket bryder cyklen af cyklisk genkompilering (for at bygge en compiler kræves eksekverbare filer fra en allerede bygget compiler, og binære builds af kompileren kan være en potentiel kilde til skjulte bagdøre, hvilket forhindrer en fuldstændig garanti for integriteten af builds fra reference kildekoder).

I GNU Mes tilbydes en selvforsynende (self-hosting) interpreter for sproget Scheme, skrevet i C, samt en simpel compiler for C-sproget (MesCC), skrevet i Scheme. Begge komponenter kan gensamles. Scheme-interpreteren muliggør opbygningen af C-kompilatoren MesCC, som derefter kan bygge en beskåret version af kompilatoren TinyCC (tcc), hvis funktionalitet allerede er tilstrækkelig til at bygge GCC.

Interpreteren for sproget Scheme er meget kompakt og består af ca. 5000 kodelinjer på det enkleste underrække af C-sproget og kan omdannes til et eksekverbart fil ved hjælp af den universelle oversætter M2-Planet eller en simpel C-compiler, bygget ved hjælp af den selvopbyggelige assembler hex0, som ikke kræver eksterne afhængigheder. Desuden inkluderer interpretereren en fuld garbage collector og tilbyder et bibliotek af indlæselige moduler. Projektet udvikler også C-biblioteket Mes C, som er tilstrækkeligt til at bygge glibc 2.2.5, binutils 2.20.1 og gcc 2.95.3, som er nødvendige for at implementere distributionen Guix til platformene i686-linux, x86_64-linux, armhf-linux og aarch64-linux, ved kun at bruge kildekoder (Full Source Bootstrap).

Den nye version tilføjer understøttelse af fuldt kompatible moduler med Guile og muligheden for at køre Gash og Gash-Utils. Der er sket en overgang fra assert til brug af undtagelser. Understøttelse af regulære udtryk er blevet tilføjet. Ni nye moduler er implementeret (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 og srfi-37). 46 nye funktioner er tilføjet, herunder chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname og utimes. I kommende udgivelser forventes der støtte til bootstrapping af NixOS udelukkende fra kildekoder, mulighed for bootstrapping af gcc 4.6.4 samt støtte til en fuld bygning af hele systemet fra kildekoder i Linux-miljøer baseret på arkitekturerne armhf og riscv64.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster