Lansarea GNU Mes 0.27, instrumentul pentru construirea autonomă a distribuțiilor

A fost lansată versiunea instrumentului GNU Mes 0.27, care asigură procesul de bootstrap pentru GCC și permite realizarea unui ciclu închis de recompilare din surse. Instrumentul rezolvă problema unei construcții inițiale verificate a compilatorului în distribuții, rupând lanțul de recompilare cyclică (pentru a construi compilatorul sunt necesare fișiere executabile ale unui compilator deja construit, iar construcțiile binare ale compilatorului pot reprezenta surse ascunse de backdoor, ceea ce nu permite garantarea completă a integrității construcțiilor din sursele de referință).

În GNU Mes este oferit un interpret autonom (self-hosting) pentru limbajul Scheme, scris în C, și un compilator simplu pentru limbajul C (MesCC), scris în Scheme. Ambele componente sunt interconstruibile. Interpretul Scheme oferă posibilitatea de a construi compilatorul C MesCC, care apoi permite construirea unei versiuni reduse a compilatorului TinyCC (tcc), a cărei funcționalitate este suficientă pentru construirea GCC.

Interpretul limbajului Scheme este foarte compact, ocupând aproximativ 5000 de linii de cod într-un subset simplu al limbajului C și poate fi transformat într-un fișier executabil folosind translatorul universal M2-Planet sau un compilator C simplu, compilat folosind asamblatorul autoconstruibil hex0, care nu necesită dependențe externe. În plus, interpretul include un colector de gunoi complet și oferă o bibliotecă de module încărcabile. Proiectul dezvoltă, de asemenea, biblioteca C Mes, care este suficientă pentru a construi glibc 2.2.5, binutils 2.20.1 și gcc 2.95.3, necesare pentru desfășurarea distribuției Guix pentru platformele i686-linux, x86_64-linux, armhf-linux și aarch64-linux, folosind doar sursele originale (Full Source Bootstrap).

Noua versiune reia suportul pentru rularea Mes în mediu GNU Hurd. Au fost adăugate module noi: rnrs (aritmetică pe biți) și srfi (srfi-39). Pentru compatibilitate cu Guile, modulul srfi este încărcat implicit. Au fost adăugate funcții noi: pair-for-each și with-fluids*. În compilatorul MesCC a fost implementată capacitatea de a lucra cu module pentru generarea parserelor și analizatorilor lexicali NYACC versiuni 0.99.0 până la 1.09.4. Posibilitatea utilizării modulelor moștenite în stil mes pentru NYACC și MesCC a fost eliminată.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster