Release of GNU Mes 0.23, a self-contained distribution toolkit

After a year of development, the GNU Mes 0.23 toolkit was released, providing a bootstrap process for GCC and allowing a closed loop rebuild from source. The toolkit solves the problem of a verified initial compiler assembly in distributions, breaking the chain of cyclic rebuilding (compiler assembly requires executable files of an already built compiler, and binary compiler assemblies are a potential source of hidden bookmarks, which does not fully guarantee the integrity of assemblies from reference source texts).

GNU Mes provides a self-hosted Scheme interpreter written in C and a simple C compiler (MesCC) written in Scheme. Both components are mutually assembled. The Scheme interpreter makes it possible to build the MesCC C compiler, which then allows you to build a stripped-down version of the TinyCC (tcc) compiler, which is already powerful enough to build GCC.

The Scheme language interpreter is quite compact, takes about 5000 lines of code in the simplest subset of the C language and can be converted into an executable file using the M2-Planet universal translator or the simplest C compiler built using a self-assembled hex0 assembler that does not require external dependencies. At the same time, the interpreter includes a full-fledged garbage collector and provides a library of loadable modules.

The new release adds support for the ARM architecture ( armhf-linux and aarch-linux). Added the ability to use Mes along with a reduced set of bootstrap files from the GNU Guix project (GNU Guix Reduced Binary Seed). Implemented support for building Mes and the Mes C library using GCC 10.x. The MesCC compiler now supplies its own library libmescc.a (-lmescc), and when building with GCC, "-lgcc" is now specified. Support for building MesCC with Guile 3.0.x.

Source: opennet.ru

Add a comment