A fost lansat GNU Mes 0.25, un set de instrumente pentru construirea autonomă a distribuțiilor

După un an și jumătate de dezvoltare, a fost lansat instrumentul GNU Mes 0.25, care facilitează procesul de bootstrapping pentru GCC și permite obținerea unui ciclu închis de recompilare din coduri sursă. Instrumentul rezolvă problema unei compilări inițiale verificate a compilatorului în distribuții, rupând lanțul de recompilare ciclic (pentru a construi un compilator, sunt necesare execuții ale compilatorului deja compilat, iar versiunile binare ale compilatorului reprezintă o sursă potențială de backdoor-uri, ceea ce nu garantează complet integritatea construcțiilor din codurile sursă 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 aduce suport pentru arhitectura RISC-V (RISC-V64-linux) și oferă suport pentru compilarea cu ajutorul transpilerului M2-Planet. Se suportă compilarea cu versiunea M2-Planet 1.11.0 pentru platforma țintă x86_64-linux. Specificarea modului „—bootstrap-mode” la utilizarea M2-Planet nu mai este necesară. În MesCC, au fost rezolvate problemele de compatibilitate cu versiunile GCC 10+, s-a asigurat inițializarea câmpurilor structurilor cu valoarea 0 și a fost restaurată posibilitatea de depanare a fișierelor binare la nivel de funcții individuale.

În versiunile viitoare, se așteaptă adăugarea suportului pentru bootstrapping-ul NixOS exclusiv din coduri sursă, suportul modulelor complet compatibile cu Guile, posibilitatea de a rula Gash și Gash-Utils, suportul pentru bootstrapping gcc 4.6.4, precum și posibilitatea de a construi întreaga sistem din coduri sursă în medii Linux bazate pe arhitecturi armhf și riscv64.

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