Release of GNU Mes 0.26, a toolkit for self-sufficient distribution building

The release of GNU Mes 0.26 has been published, providing a bootstrap process for GCC and enabling a closed-loop recompilation cycle from source texts. This toolkit addresses the issue of verified initial compiler builds in distributions, breaking the cycle of cyclic recompilation (since building a compiler requires executable files from an already built compiler, and binary compiler builds are potential sources of hidden backdoors, which prevents full integrity guarantees for builds from reference source texts).

GNU Mes offers a self-hosting interpreter for the Scheme language, written in C, and a basic compiler for C (MesCC), written in Scheme. Both components are mutually buildable. The Scheme interpreter allows building the C compiler MesCC, which can then compile a stripped-down version of TinyCC (tcc), whose capabilities are sufficient for building GCC.

The Scheme interpreter is very compact, consisting of about 5,000 lines of code in the simplest subset of C and can be transformed into an executable file using the universal translator M2-Planet or a basic C compiler built using the self-hosting assembler hex0, which does not require external dependencies. The interpreter includes a complete garbage collector and provides a library for loadable modules. The project is also developing the Mes C library, which is sufficient for building glibc 2.2.5, binutils 2.20.1, and gcc 2.95.3, necessary for deploying the Guix distribution for platforms i686-linux, x86_64-linux, armhf-linux, and aarch64-linux, using only source code (Full Source Bootstrap).

The new release adds support for modules fully compatible with Guile and provides the ability to run Gash and Gash-Utils. The transition from assert to exceptions has been made. Regular expression support has been added. Nine new modules have been implemented (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11, and srfi-37). A total of 46 new functions have been added, including chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname, and utimes. Upcoming releases are expected to support NixOS bootstrapping only from source texts, the ability to bootstrap gcc 4.6.4, and full system builds from source texts in Linux environments based on armhf and riscv64 architectures.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster