Wydanie GNU Mes 0.23, zestawu narzędzi do samodzielnego budowania dystrybucji

Po roku prac wydano zestaw narzędzi GNU Mes 0.23, zapewniający proces ładowania początkowego dla GCC i umożliwiający zamknięty cykl odbudowy z kodu źródłowego. Zestaw narzędzi rozwiązuje problem weryfikacji początkowego montażu kompilatora w dystrybucjach, przerywając łańcuch cyklicznej przebudowy (budowa kompilatora wymaga plików wykonywalnych już zbudowanego kompilatora, a binarne zestawy kompilatora są potencjalnym źródłem ukrytych zakładek, co nie pozwala w pełni zagwarantować integralność zespołów z referencyjnych kodów źródłowych).

GNU Mes oferuje własny interpreter języka Scheme napisany w języku C oraz prosty kompilator języka C (MesCC) napisany w języku Scheme. Obydwa elementy można ze sobą łączyć. Interpreter Scheme umożliwia zbudowanie kompilatora MesCC C, który następnie pozwala na zbudowanie uproszczonej wersji kompilatora TinyCC (tcc), którego możliwości są już wystarczające do zbudowania GCC.

Interpreter języka Scheme jest dość kompaktowy, zajmuje około 5000 linii kodu w najprostszym podzbiorze języka C i można go przekonwertować na plik wykonywalny za pomocą uniwersalnego tłumacza M2-Planet lub prostego kompilatora C zmontowanego przy użyciu samodzielnie zmontowanego hex0 asembler, który nie wymaga zewnętrznych zależności. Jednocześnie interpreter zawiera pełnoprawny moduł zbierający elementy bezużyteczne i zapewnia bibliotekę ładowalnych modułów.

Nowa wersja zawiera wsparcie dla architektury ARM (armhf-linux i aarch-linux). Dodano możliwość używania Mes razem ze zredukowanym zestawem plików startowych z projektu GNU Guix (GNU Guix zredukowane nasiona binarne). Zaimplementowano wsparcie dla budowania Mes i biblioteki Mes C przy użyciu GCC 10.x. Kompilator MesCC dostarcza teraz własną bibliotekę libmescc.a (-lmescc), a podczas budowania przy użyciu GCC określane jest teraz "-lgcc". Zapewniono wsparcie dla budowania MesCC z Guile 3.0.x.

Źródło: opennet.ru

Dodaj komentarz