Paglabas ng GNU Mes 0.23, isang toolkit para sa self-contained distribution building

Pagkatapos ng isang taon ng pag-unlad, ang GNU Mes 0.23 toolkit ay inilabas, na nagbibigay ng proseso ng bootstrap para sa GCC at nagbibigay-daan para sa isang closed cycle ng muling pagtatayo mula sa source code. Nilulutas ng toolkit ang problema ng na-verify na paunang pagpupulong ng compiler sa mga distribusyon, pagsira sa kadena ng cyclical na muling pagtatayo (ang pagbuo ng isang compiler ay nangangailangan ng mga executable na file ng isang naitayo nang compiler, at ang mga binary compiler assemblies ay isang potensyal na mapagkukunan ng mga nakatagong bookmark, na hindi pinapayagan ang ganap na paggarantiya ang integridad ng mga asembliya mula sa reference source code).

Nag-aalok ang GNU Mes ng self-hosting interpreter para sa Scheme language, na nakasulat sa C language, at isang simpleng compiler para sa C language (MesCC), na nakasulat sa Scheme language. Ang parehong mga bahagi ay interassemblable. Ginagawang posible ng interpreter ng Scheme na buuin ang MesCC C compiler, na nagbibigay-daan sa iyong bumuo ng stripped-down na bersyon ng TinyCC compiler (tcc), na ang mga kakayahan nito ay sapat na upang bumuo ng GCC.

Ang interpreter ng wika ng Scheme ay medyo compact, tumatagal ng humigit-kumulang 5000 linya ng code sa pinakasimpleng subset ng wikang C at maaaring i-convert sa isang executable file gamit ang M2-Planet universal translator o isang simpleng C compiler na binuo gamit ang self-assembled hex0 assembler, na hindi nangangailangan ng mga panlabas na dependency. Kasabay nito, ang interpreter ay nagsasama ng isang ganap na kolektor ng basura at nagbibigay ng library ng mga mai-load na module.

Kasama sa bagong release ang suporta para sa arkitektura ng ARM (armhf-linux at aarch-linux). Idinagdag ang kakayahang gumamit ng Mes kasama ng pinababang hanay ng mga bootstrap na file mula sa proyekto ng GNU Guix (GNU Guix Reduced Binary Seed). Nagpatupad ng suporta para sa pagbuo ng Mes at ng Mes C library gamit ang GCC 10.x. Ang MesCC compiler ay nagpapadala na ngayon ng sarili nitong libmescc.a library (-lmescc), at kapag nagtatayo gamit ang GCC, ang "-lgcc" ay tinukoy na ngayon. Nagbigay ng suporta para sa pagbuo ng MesCC gamit ang Guile 3.0.x.

Pinagmulan: opennet.ru

Magdagdag ng komento