Pagpagawas sa GNU Mes 0.23, usa ka toolkit alang sa self-contained distribution building

Human sa usa ka tuig nga kalamboan, ang GNU Mes 0.23 toolkit gibuhian, nga naghatag ug bootstrap nga proseso para sa GCC ug nagtugot sa usa ka sirado nga siklo sa pagtukod pag-usab gikan sa source code. Gisulbad sa toolkit ang problema sa gipamatud-an nga inisyal nga asembliya sa compiler sa mga pag-apod-apod, gibuak ang kadena sa cyclical nga pagtukod pag-usab (pagtukod sa usa ka compiler nanginahanglan mga executable nga file sa usa ka natukod na nga compiler, ug ang binary compiler nga mga asembliya usa ka potensyal nga gigikanan sa gitago nga mga bookmark, nga wala magtugot sa hingpit nga paggarantiya. ang integridad sa mga asembliya gikan sa reference source code).

Ang GNU Mes nagtanyag og usa ka self-hosting interpreter para sa Scheme nga pinulongan, gisulat sa C nga pinulongan, ug usa ka simple nga compiler para sa C nga pinulongan (MesCC), nga gisulat sa Scheme nga pinulongan. Ang duha ka mga sangkap mao ang interassemblable. Ang Scheme interpreter nagpaposible sa paghimo sa MesCC C compiler, nga nagtugot kanimo sa paghimo sa usa ka stripped-down nga bersyon sa TinyCC compiler (tcc), ang mga kapabilidad niini igo na sa pagtukod sa GCC.

Ang Scheme language interpreter medyo compact, nagkuha ug mga 5000 ka linya sa code sa pinakasimple nga subset sa C nga lengguwahe ug mahimong ma-convert ngadto sa executable file gamit ang M2-Planet universal translator o simple C compiler nga gi-assemble gamit ang self-assembled hex0 assembler, nga wala magkinahanglan sa gawas nga mga dependency. Sa samang higayon, ang tighubad naglakip sa usa ka bug-os nga tigkolekta sa basura ug naghatag ug librarya sa makarga nga mga module.

Ang bag-ong pagpagawas naglakip sa suporta alang sa arkitektura sa ARM (armhf-linux ug aarch-linux). Gidugang ang abilidad sa paggamit sa Mes uban sa usa ka pagkunhod sa set sa bootstrap file gikan sa GNU Guix nga proyekto (GNU Guix Reduced Binary Seed). Gipatuman nga suporta alang sa pagtukod sa Mes ug sa Mes C library gamit ang GCC 10.x. Ang MesCC compiler karon nagpadala sa iyang kaugalingon nga libmescc.a library (-lmescc), ug sa dihang nagtukod uban sa GCC, ang "-lgcc" gitakda na karon. Naghatag suporta alang sa pagtukod sa MesCC nga adunay Guile 3.0.x.

Source: opennet.ru

Idugang sa usa ka comment