Lansarea GNU Mes 0.23, un set de instrumente pentru construirea de distribuții autonome

După un an de dezvoltare, setul de instrumente GNU Mes 0.23 a fost lansat, oferind un proces de bootstrap pentru GCC și permițând un ciclu închis de reconstrucție din codul sursă. Setul de instrumente rezolvă problema ansamblării inițiale verificate a compilatorului în distribuții, rupând lanțul de reconstrucție ciclică (construirea unui compilator necesită fișiere executabile ale unui compilator deja construit, iar ansamblurile compilatoarelor binare sunt o sursă potențială de marcaje ascunse, ceea ce nu permite garantarea completă). integritatea ansamblurilor din codurile sursă de referință).

GNU Mes oferă un interpret cu autogăzduire pentru limbajul Scheme, scris în limbajul C și un compilator simplu pentru limbajul C (MesCC), scris în limbajul Scheme. Ambele componente sunt interasamblabile. Interpretul Scheme face posibilă construirea compilatorului MesCC C, care vă permite apoi să construiți o versiune redusă a compilatorului TinyCC (tcc), ale cărei capabilități sunt deja suficiente pentru a construi GCC.

Interpretul limbajului Scheme este destul de compact, ocupă aproximativ 5000 de linii de cod în cel mai simplu subset al limbajului C și poate fi convertit într-un fișier executabil folosind traducătorul universal M2-Planet sau un compilator C simplu asamblat folosind hex0 auto-asamblat. asamblator, care nu necesită dependențe externe. În același timp, interpretul include un colector de gunoi cu drepturi depline și oferă o bibliotecă de module încărcate.

Noua versiune include suport pentru arhitectura ARM (armhf-linux și aarch-linux). S-a adăugat posibilitatea de a utiliza Mes împreună cu un set redus de fișiere bootstrap din proiectul GNU Guix (GNU Guix Reduced Binary Seed). S-a implementat suport pentru construirea Mes și a bibliotecii Mes C folosind GCC 10.x. Compilatorul MesCC livrează acum propria bibliotecă libmescc.a (-lmescc), iar atunci când se construiește cu GCC, acum este specificat „-lgcc”. A oferit suport pentru construirea MesCC cu Guile 3.0.x.

Sursa: opennet.ru

Adauga un comentariu