GNU Mes 0.23 విడుదల, స్వీయ-నియంత్రణ పంపిణీ భవనం కోసం టూల్‌కిట్

После года разработки состоялся выпуск инструментария GNU Mes 0.23, обеспечивающего процесс бутстрэппинга (bootstrap) для GCC и позволяющего добиться замкнутого цикла пересборки из исходных текстов. Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора, а бинарные сборки компилятора являются потенциальным источником скрытых закладок, что не позволяет полностью гарантировать целостность сборок из эталонных исходных текстов).

GNU Mes స్కీమ్ భాష కోసం స్వీయ-హోస్టింగ్ ఇంటర్‌ప్రెటర్‌ను అందిస్తుంది, ఇది C భాషలో వ్రాయబడింది మరియు స్కీమ్ భాషలో వ్రాయబడిన C భాష (MesCC) కోసం సాధారణ కంపైలర్‌ను అందిస్తుంది. రెండు భాగాలు పరస్పరం కలపదగినవి. స్కీమ్ ఇంటర్‌ప్రెటర్ MesCC C కంపైలర్‌ను రూపొందించడాన్ని సాధ్యం చేస్తుంది, ఇది TinyCC కంపైలర్ (tcc) యొక్క స్ట్రిప్డ్-డౌన్ వెర్షన్‌ను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది, దీని సామర్థ్యాలు GCCని నిర్మించడానికి ఇప్పటికే సరిపోతాయి.

Интерпретатор языка Scheme достаточно компактный, занимает около 5000 строк кода на простейшем подмножестве языка Си и может быть преобразован в исполняемый файл с использованием универсального транслятора M2-Planet или простейшего Си-компилятора, собранного с использованием самособираемого ассемблера hex0, не требующего внешних зависимостей. При этом интерпретатор включает полноценный сборщик мусора и предоставляет библиотеку загружаемых модулей.

В новом выпуске реализована поддержка архитектуры ARM ( armhf-linux и aarch-linux). Добавлена возможность использования Mes вместе с сокращённым набором bootstrap-файлов от проекта GNU Guix (GNU Guix Reduced Binary Seed). Реализована поддержка сборки Mes и библиотеки Mes C с использованием GCC 10.x. В компиляторе MesCC обеспечена поставка собственной библиотеки libmescc.a (-lmescc), а при сборке с GCC теперь указывается «-lgcc». Обеспечена поддержка сборки MesCC с Guile 3.0.x.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి