Uscita di GNU Mes 0.23, uno strumento per la costruzione autonoma di distribuzioni

Dopo un anno di sviluppo, è stato rilasciato lo strumento GNU Mes 0.23, che fornisce il processo di bootstrapping per GCC e consente di ottenere un ciclo chiuso di ricompilazione dai sorgenti. Lo strumento affronta la questione della costruzione iniziale verificata del compilatore nei distributivi, interrompendo la catena di ricompilazione ciclica (per costruire il compilatore sono necessari file eseguibili già compilati, e le compilazioni binarie del compilatore possono essere una fonte potenziale di backdoor, rendendo impossibile garantire completamente l'integrità delle compilazioni dai sorgenti di riferimento).

In GNU Mes è presente un interprete autonomo (self-hosting) per il linguaggio Scheme, scritto in C, e un compilatore di base per il linguaggio C (MesCC), scritto in Scheme. Entrambi i componenti sono incapsulabili. L'interprete Scheme consente di costruire il compilatore C MesCC, che a sua volta permette di compilare una versione ridotta del compilatore TinyCC (tcc), le cui capacità sono già sufficienti per compilare GCC.

L'interprete del linguaggio Scheme è piuttosto compatto, occupando circa 5000 righe di codice nel più semplice sottoinsieme del linguaggio C e può essere trasformato in un file eseguibile utilizzando il traslatore universale M2-Planet o il semplice compilatore C, compilato con l'assemblatore auto-assemblante hex0, senza dipendenze esterne. L'interprete include un garbage collector completo e fornisce una libreria di moduli caricabili.

Nella nuova versione è stata implementata il supporto per l'architettura ARM (armhf-linux e aarch-linux). È stata aggiunta la possibilità di utilizzare Mes insieme a una riduzione del set di file bootstrap dal progetto GNU Guix (GNU Guix Reduced Binary Seed). È stato implementato il supporto per la compilazione di Mes e della libreria Mes C utilizzando GCC 10.x. Nel compilatore MesCC viene fornita la propria libreria libmescc.a (-lmescc), e durante la compilazione con GCC si specifica ora '-lgcc'. È stato assicurato il supporto per la compilazione di MesCC con Guile 3.0.x.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster