Выпуск GNU Mes 0.23, інструментара для самадастатковай зборкі дыстрыбутываў

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

У GNU Mes прапануецца самадастатковы (self-hosting) інтэрпрэтатар для мовы Scheme, напісаны на мове Сі, і найпросты кампілятар для мовы Сі (MesCC), напісаны на мове Scheme. Абодва кампанента ўзаемазбіральныя. Scheme-інтэрпрэтатар дае магчымасць сабраць Сі-кампілятар MesCC, які затым дазваляе сабраць зрэзаную версію кампілятара 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

Дадаць каментар