自己完結型ディストリビューション構築のためのツールキット、GNU Mes 0.23 のリリース

0.23 年の開発の後、GNU Mes XNUMX ツールキットがリリースされました。これにより、GCC のブートストラップ プロセスが提供され、ソース コードから再構築するクローズド サイクルが可能になりました。 このツールキットは、ディストリビューションでの検証済みの初期コンパイラ アセンブリの問題を解決し、循環的な再構築の連鎖を断ち切ります (コンパイラを構築するには、既に構築されているコンパイラの実行可能ファイルが必要であり、バイナリ コンパイラ アセンブリは隠れたブックマークの潜在的なソースであり、完全な保証はできません)参照ソース コードからのアセンブリの整合性)。

GNU Mes は、C 言語で記述された Scheme 言語用のセルフホスティング インタプリタと、Scheme 言語で記述された C 言語用の単純なコンパイラ (MesCC) を提供します。 両方のコンポーネントは相互に組み立て可能です。 Scheme インタープリターを使用すると、MesCC C コンパイラーをビルドできるようになります。これにより、GCC をビルドするのにすでに十分な機能を備えた TinyCC コンパイラー (tcc) の機能を簡素化したバージョンをビルドできます。

Scheme 言語インタプリタは非常にコンパクトで、C 言語の最も単純なサブセットで約 5000 行のコードを占め、M2-Planet ユニバーサル トランスレータまたは自己アセンブル hex0 を使用してアセンブルされた単純な C コンパイラを使用して実行可能ファイルに変換できます。アセンブラは外部依存関係を必要としません。 同時に、インタープリターには本格的なガベージ コレクターが含まれており、ロード可能なモジュールのライブラリが提供されます。

新しいリリースには、ARM アーキテクチャ (armhf-linux および aarch-linux) のサポートが含まれています。 GNU Guix プロジェクト (GNU Guix Reduced Binary Seed) の縮小されたブートストラップ ファイルのセットと Mes を併用する機能が追加されました。 GCC 10.x を使用した Mes および Mes C ライブラリのビルドのサポートを実装しました。 MesCC コンパイラには独自の libmescc.a ライブラリ (-lmescc) が同梱されるようになり、GCC でビルドする場合は「-lgcc」が指定されるようになりました。 Guile 3.0.x を使用した MesCC の構築のサポートを提供しました。

出所: オープンネット.ru

コメントを追加します