發布 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

添加評論