Udgivelsen af GNU Mes 0.27, værktøjet til selvforsynende distributionbygning

Udgaven af GNU Mes 0.27 er blevet offentliggjort, hvilket sikrer bootstrap-processen for GCC og muliggør en lukket cyklus for genopbygning fra kildekoder. Værktøjet løser opgaven med verificeret initial opbygning af compilere i distributioner ved at bryde kæden af cyklisk genopbygning (for at bygge en compiler kræves eksekverbare filer fra allerede byggede compilere, og binære bygninger af compilere kan være en potentiel kilde til skjulte bagdøre, hvilket ikke helt sikrer integriteten af bygningerne fra de 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).

I den nye udgave er understøttelsen af at køre Mes i GNU Hurd-miljøet genoptaget. Nye moduler er tilføjet: rnrs (bitwise arithmetic) og srfi (srfi-39). For at være kompatibel med Guile indlæses srfi-modulet som standard. Nye funktioner er tilføjet: pair-for-each og with-fluids*. I kompilatoren MesCC er der implementeret mulighed for at arbejde med moduler til generering af parser og leksikalske analysatorer NYACC versioner fra 0.99.0 til 1.09.4. Muligheden for at bruge forældede moduler i mes-stil til NYACC og MesCC er blevet fjernet.

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