Lansarea GNU Mes 0.26, un instrument pentru construcția autonomă a distribuțiilor

A fost publicat un nou release al instrumentului GNU Mes 0.26, care asigură procesul de bootstrap pentru GCC și permite obținerea unui ciclu închis de recompilare din sursele originale. Acest instrument rezolvă provocarea construirii verificate a compilatorului în distribuții, ruptând lanțul recompilării ciclice (pentru a construi compilatorul sunt necesare fișiere executabile deja compilate, iar construcțiile binare ale compilatorului pot fi surse potențiale de backdoor-uri, ceea ce nu asigură integritatea totală a 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).

Noul release aduce suport pentru module complet compatibile cu Guile și oferă posibilitatea de a rula Gash și Gash-Utils. S-a realizat tranziția de la assert la utilizarea excepțiilor. A fost adăugat suport pentru expresii regulate. Au fost implementate nouă module noi (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 și srfi-37). Au fost adăugate 46 de funcții noi, printre care chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname și utimes. În următoarele release-uri se așteaptă suport pentru bootstrapping NixOS exclusiv din surse, posibilitatea bootstrapping gcc 4.6.4 și suport pentru construirea completă a întregului sistem din surse î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