Llançament de GNU Mes 0.23, un conjunt d'eines per a la creació de distribucions autònomes

Després d'un any de desenvolupament, es va llançar el conjunt d'eines GNU Mes 0.23, que proporciona un procés d'arrencada per a GCC i permet un cicle tancat de reconstrucció a partir del codi font. El conjunt d'eines resol el problema del muntatge inicial del compilador verificat a les distribucions, trencant la cadena de reconstrucció cíclica (la creació d'un compilador requereix fitxers executables d'un compilador ja creat, i els conjunts de compiladors binaris són una font potencial d'adreces d'interès ocultes, la qual cosa no permet garantir completament. la integritat dels conjunts a partir de codis font de referència).

GNU Mes ofereix un intèrpret d'allotjament automàtic per al llenguatge Scheme, escrit en llenguatge C, i un compilador senzill per al llenguatge C (MesCC), escrit en llenguatge Scheme. Tots dos components són interconnectables. L'intèrpret d'esquemes permet construir el compilador MesCC C, que després us permet crear una versió reduïda del compilador TinyCC (tcc), les capacitats de la qual ja són suficients per construir GCC.

L'intèrpret del llenguatge Scheme és bastant compacte, ocupa unes 5000 línies de codi en el subconjunt més simple del llenguatge C i es pot convertir en un fitxer executable mitjançant el traductor universal M2-Planet o un compilador C simple muntat mitjançant l'hex0 autoensamblat. assemblador, que no requereix dependències externes. Al mateix temps, l'intèrpret inclou un recol·lector d'escombraries complet i proporciona una biblioteca de mòduls carregables.

La nova versió inclou suport per a l'arquitectura ARM (armhf-linux i aarch-linux). S'ha afegit la possibilitat d'utilitzar Mes juntament amb un conjunt reduït de fitxers d'arrencada del projecte GNU Guix (GNU Guix Reduced Binary Seed). Suport implementat per construir Mes i la biblioteca Mes C mitjançant GCC 10.x. El compilador MesCC ara inclou la seva pròpia biblioteca libmescc.a (-lmescc), i quan es construeix amb GCC, ara s'especifica "-lgcc". S'ha proporcionat suport per crear MesCC amb Guile 3.0.x.

Font: opennet.ru

Afegeix comentari