Utgivelse av GNU Mes 0.23, et verktøysett for selvstendig distribusjonsbygging

Etter et år med utvikling ble GNU Mes 0.23-verktøysettet utgitt, og ga en bootstrap-prosess for GCC og muliggjorde en lukket syklus med gjenoppbygging fra kildekoden. Verktøysettet løser problemet med verifisert første kompilatorsammenstilling i distribusjoner, bryter kjeden av syklisk gjenoppbygging (å bygge en kompilator krever kjørbare filer fra en allerede bygget kompilator, og binære kompilatorsammenstillinger er en potensiell kilde til skjulte bokmerker, noe som ikke tillater full garanti integriteten til sammenstillinger fra referansekildekoder).

GNU Mes tilbyr en selvhostende tolk for Scheme-språket, skrevet på C-språket, og en enkel kompilator for C-språket (MesCC), skrevet på Scheme-språket. Begge komponentene kan monteres sammen. Scheme-tolken gjør det mulig å bygge MesCC C-kompilatoren, som deretter lar deg bygge en nedstrippet versjon av TinyCC-kompilatoren (tcc), hvis evner allerede er tilstrekkelige til å bygge GCC.

Scheme-språktolken er ganske kompakt, tar opp omtrent 5000 linjer med kode i den enkleste delmengden av C-språket og kan konverteres til en kjørbar fil ved hjelp av M2-Planet universaloversetter eller en enkel C-kompilator satt sammen ved hjelp av den selvmonterte hex0 assembler, som ikke krever eksterne avhengigheter. Samtidig inkluderer tolken en fullverdig søppeloppsamler og gir et bibliotek med lastbare moduler.

Den nye utgivelsen inkluderer støtte for ARM-arkitekturen (armhf-linux og aarch-linux). Lagt til muligheten til å bruke Mes sammen med et redusert sett med bootstrap-filer fra GNU Guix-prosjektet (GNU Guix Reduced Binary Seed). Implementert støtte for å bygge Mes og Mes C-biblioteket ved hjelp av GCC 10.x. MesCC-kompilatoren sender nå sitt eget libmescc.a-bibliotek (-lmescc), og når du bygger med GCC, er "-lgcc" nå spesifisert. Gir støtte for å bygge MesCC med Guile 3.0.x.

Kilde: opennet.ru

Legg til en kommentar