After a year of development the toolkit has been released GNU Mes 0.23 , which provides a bootstrap process for GCC and allows for a closed rebuild loop from source.
The toolkit solves the problem of verified initial compiler build in distributions, breaking the chain of cyclic rebuilding (compiler build requires executable files of the already built compiler, and compiler binary builds are a potential source of hidden bookmarks, which does not completely guarantee the integrity of builds from reference sources).
GNU Mes offers a self-hosting interpreter for Scheme written in C and a basic 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 sufficient for GCC builds.
The Scheme 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 universal translator M2-Planet or the simplest C compiler built using the self-assembled hex0 assembler that does not require external dependencies. In doing so, the interpreter includes a full-fledged garbage collector and provides a library of loadable modules.
The new release includes support for the ARM architecture (armhf-linux and aarch-linux). Added the ability to use Mes with reduced set bootstrap files from the GNU Guix Project (GNU Guix Reduced Binary Seed). Support for building Mes and the Mes C library using GCC 10.x has been implemented. The MesCC compiler provides its own libmescc.a (-lmescc) library, and now “-lgcc” is specified when building with GCC. Build support provided
MesCC with Guile 3.0.x.