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

È stato pubblicato il rilascio dello strumento GNU Mes 0.26, che supporta il processo di bootstrap per GCC e consente di ottenere un ciclo di ricompilazione chiuso a partire dai codici sorgente. Questo strumento affronta la questione della costruzione iniziale certificata del compilatore nelle distribuzioni, interrompendo la catena di ricompilazione ciclica (per costruire un compilatore sono necessari file eseguibili già compilati, e le versioni binarie del compilatore possono essere fonti potenziali di backdoor, il che non garantisce completamente l'integrità delle compilazioni a partire dai codici sorgente 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 è molto compatto, occupa circa 5000 righe di codice nel più semplice sottoinsieme del linguaggio C e può essere trasformato in un file eseguibile utilizzando il traduttore universale M2-Planet o un semplice compilatore C costruito con l'assembler auto-compilante hex0, che non richiede dipendenze esterne. Inoltre, l'interprete include un completo garbage collector e fornisce una libreria di moduli caricabili. Il progetto sviluppa anche la libreria C Mes, che è sufficiente per compilare glibc 2.2.5, binutils 2.20.1 e gcc 2.95.3, necessari per il deployment della distribuzione Guix su piattaforme i686-linux, x86_64-linux, armhf-linux e aarch64-linux, utilizzando solo i codici sorgente (Full Source Bootstrap).

La nuova versione aggiunge supporto per moduli completamente compatibili con Guile e offre la possibilità di eseguire Gash e Gash-Utils. È stata effettuata la transizione da assert all'uso delle eccezioni. È stato aggiunto il supporto per le espressioni regolari. Sono stati implementati nove nuovi moduli (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 e srfi-37). Sono state aggiunte 46 nuove funzioni, tra cui chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname e utimes. Nei prossimi rilasci è previsto il supporto per il bootstrap di NixOS solo a partire dai codici sorgente, la possibilità di bootstrap di gcc 4.6.4, nonché il supporto per la costruzione completa dell'intero sistema a partire dai codici sorgente in ambienti Linux basati sulle architetture armhf e riscv64.

Fonte: opennet.ru

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