发布 GNU Mes 0.23,一个用于独立发行版构建的工具包

经过一年的开发,GNU Mes 0.23 工具包发布了,为 GCC 提供了引导程序,并允许从源代码重建的封闭循环。 该工具包解决了发行版中验证初始编译器程序集的问题,打破了循环重建链(构建编译器需要已构建编译器的可执行文件,而二进制编译器程序集是隐藏书签的潜在来源,这不允许完全保证参考源代码中的程序集的完整性)。

GNU Mes 为Scheme 语言提供了一个用C 语言编写的自托管解释器,以及一个用Scheme 语言编写的C 语言简单编译器(MesCC)。 两个组件都是可相互组装的。 Scheme 解释器使构建 MesCC C 编译器成为可能,然后它允许您构建 TinyCC 编译器 (tcc) 的精简版本,其功能已经足以构建 GCC。

Scheme语言解释器相当紧凑,占用C语言最简单子集的约5000行代码,可以使用M2-Planet通用翻译器或使用自汇编hex0组装的简单C编译器将其转换为可执行文件汇编器,不需要外部依赖。 同时,解释器包括一个成熟的垃圾收集器,并提供一个可加载模块库。

新版本包括对 ARM 架构(armhf-linux 和 aarch-linux)的支持。 添加了将 Mes 与 GNU Guix 项目(GNU Guix 精简二进制种子)中的一组精简引导文件一起使用的功能。 实现了对使用 GCC 10.x 构建 Mes 和 Mes C 库的支持。 MesCC 编译器现在附带其自己的 libmescc.a 库 (-lmescc),并且在使用 GCC 构建时,现在指定“-lgcc”。 为使用 Guile 3.0.x 构建 MesCC 提供支持。

来源: opennet.ru

添加评论