tööriistade vĂ€ljaanne , mis vĂ”imaldab GCC-le bootstrapping'u protsessi ja saavutada suletud ringi ĂŒmberkomplekteerimist allikatekstidest.
Tööriist lahendab kontrollitud kompilatori algse koostamise probleemi distributsioonides, katkestades ringikujulise ĂŒmberkomplekteerimise ahela (kompilatori koostamiseks on vajalikud juba koostatud kompilatori tĂ€itmisfailid, ning kompilatori binaarkogumid vĂ”ivad olla varjatud tagakiusamisallikad, mis ei taga tĂ€ielikku terviklikkust viidates standardsetele allikatekstidele).
GNU Mesis iseseisev (self-hosting) Scheme'i tÔlkija, mis on kirjutatud C keeles, ning kÔige lihtsam C keele kompilaator (MesCC), mis on kirjutatud Scheme'is. MÔlemad komponendid on omavahel ehitatavad. Scheme'i tÔlkija vÔimaldab ehitada C kompilaatori MesCC, mis omakorda vÔimaldab ehitada kÀrbitud versiooni kompilaatorist (tcc), mille vÔimed on juba piisavad GCC ehitamiseks.
Scheme'i keele tĂ”lgendaja on piisavalt kompaktne, sisaldades umbes 5000 koodi rida lihtsas C keele alamkorpus, ja seda vĂ”ib muuta tĂ€idetavaks failiks universaalse tĂ”lkija vĂ”i lihtsa C keele kompilaatori abil, mis on koostatud ise-koostavast assemblerist , mis ei vaja vĂ€liseid sĂ”ltuvusi. Lisaks sisaldab tĂ”lgendaja tĂ€ielikku prĂŒgi koristajat ja pakub laaditavate moodulite teeki.
Uues vĂ€ljaandes on tagatud korduvate kogude tugi mes+mescc vĂ”i guile+mescc kimbule GNU Guix, Debian GNU/Linux ja NixOS jaotustes. Lisatud on vĂ”imalus kĂ€ivitada Scheme tĂ”lkijat Mes GNU Hurdâis, kuid C-tĂ”lkija mescc ei tööta veel vajalikku sĂŒsteemi kutsete toetamise puudumise tĂ”ttu (nĂ€iteks fork/exec). Lisatud on algne tugi FreeBSD tĂ€idetavate failide loomisel. Parandatud on Guixi jaotuse bootstrapping'u tuge, kasutades ainult Scheme'i komponente (Gash'i kĂ€suviip (Guile as Shell) bash'i asemel ning Gash Core Utils'i asemel coreutils, grep, sed, gzip, make, awk ja tar).
JĂ€rgmistes vĂ€ljaannetes oodatakse NixOS'i bootstrapping'u toetust, bootstrapping'u sisselĂŒlitamist ainult Scheme'i komponentide abil wip-bootstrap harus, ARM arhitektuuri toetust, Mes.c kompileerimise vĂ”imalust M2-Planetâiga, tĂ€ielikku Guile moodulite toetust ning mescc'i toimimist Hurd'i tuumaga.
Allikas: opennet.ru
