Vrystelling van GNU Mes 0.23, 'n gereedskapstel vir selfstandige verspreidingsbou

Na 'n jaar van ontwikkeling is die GNU Mes 0.23-gereedskapstel vrygestel, wat 'n selflaaiproses vir GCC verskaf en 'n geslote siklus van herbou vanaf bronkode moontlik maak. Die gereedskapstel los die probleem op van geverifieerde aanvanklike samestellersamestelling in verspreidings, wat die ketting van sikliese herbou verbreek (om 'n samesteller te bou vereis uitvoerbare lêers van 'n reeds geboude samesteller, en binêre samestellersamestellings is 'n potensiële bron van verborge boekmerke, wat nie ten volle waarborg die integriteit van samestellings vanaf verwysingsbronkodes).

GNU Mes bied 'n selfgasheer-tolk vir die Skema-taal, geskryf in die C-taal, en 'n eenvoudige samesteller vir die C-taal (MesCC), geskryf in die Skema-taal. Albei komponente is saamstelbaar. Die Skema-tolk maak dit moontlik om die MesCC C-samesteller te bou, wat jou dan toelaat om 'n gestroopte weergawe van die TinyCC-samesteller (tcc) te bou, waarvan die vermoëns reeds voldoende is om GCC te bou.

Die Skema-taaltolk is redelik kompak, neem ongeveer 5000 reëls kode in die eenvoudigste subset van die C-taal op en kan omgeskakel word in 'n uitvoerbare lêer met behulp van die M2-Planet universele vertaler of 'n eenvoudige C-samesteller wat saamgestel is met die self-saamgestelde hex0 assembler, wat nie eksterne afhanklikhede vereis nie. Terselfdertyd sluit die tolk 'n volwaardige vullisverwyderaar in en verskaf 'n biblioteek van laaibare modules.

Die nuwe vrystelling bevat ondersteuning vir die ARM-argitektuur (armhf-linux en aarch-linux). Bygevoeg die vermoë om Mes te gebruik saam met 'n verminderde stel selflaai-lêers van die GNU Guix-projek (GNU Guix Reduced Binary Seed). Ondersteuning geïmplementeer vir die bou van Mes en die Mes C-biblioteek met GCC 10.x. Die MesCC-samesteller stuur nou sy eie libmescc.a-biblioteek (-lmescc), en wanneer met GCC gebou word, word "-lgcc" nou gespesifiseer. Ondersteuning verskaf vir die bou van MesCC met Guile 3.0.x.

Bron: opennet.ru

Voeg 'n opmerking