Väljaanne GNU Mes 0.26, tööriistakomplekt autosufitsentsete distributsioonide ülesehitamiseks

On postitatud GNU Mes 0.26 tööriistade väljalaskmine, mis tagab GCC jaoks bootstrapping protsessi ja võimaldab saavutada sulgudevahelist ümberkompileerimist lähtekoodidest. Tööriist lahendab tõestatud algse kompilaatori koostamise ülesande distributsioonides, katkestades tsüklilise ümberkompileerimise ahela (kompilaatori koostamiseks on vajalikud juba koostatud kompilaatori täitmisfailid ja kompilaatori binaarsed koostatavad failid on potentsiaalne peidetud tagatihendi allikas, mis ei võimalda täielikult tagada koostete järjepidevust etalonsetest lähtekoodidest).

GNU Mes pakub iseseisvat (self-hosting) Scheme'i tõlgendajat, mis on kirjutatud C keeles, ning lihtsat C keele kompilaatorit (MesCC), mis on kirjutatud Scheme'is. Mõlemad komponendid on omavahel koostööd tegevad. Scheme'i tõlgendaja võimaldab koostada C keele kompilaatori MesCC, mis omakorda võimaldab koostada kärbitud versiooni TinyCC (tcc) kompilaatorist, mille võimeid on juba piisavalt GCC koostamiseks.

Scheme keele tõlkija on väga kompaktne, sisaldades umbes 5000 koodirida keele C kõige lihtsamas alamkogus, ning seda saab muuta teostatavaks failiks universaalse M2-Planet tõlkija või tavalise C kompilaatori abil, mis on kogutud ise kokku koguneva assembleri hex0 abil, mis ei vaja väliseid sõltuvusi. Samuti sisaldab tõlkija täisfunktsionaalset prügi koristajat ja pakub laaditavate moodulite raamatukogu. Projekt arendab ka C-raamatukogu Mes C, mis on piisav glibc 2.2.5, binutils 2.20.1 ja gcc 2.95.3 kogumiseks, mis on vajalik Guix distributsiooni rakendamiseks platvormidele i686-linux, x86_64-linux, armhf-linux ja aarch64-linux, kasutades ainult lähtekoodi (Full Source Bootstrap).

Uues väljaandes on lisatud tugi Guile'iga täielikult ühilduvatele moodulitele ning võimalus käivitada Gash ja Gash-Utils. Üleminek assert'ilt erandite kasutamisele on toimunud. Lisatud on regulaaravaldiste tugi. Realiseeritud on üheksa uut moodulit (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 ja srfi-37). Lisatud on 46 uut funktsiooni, sealhulgas chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname ja utimes. Järgnevates väljaannetes oodatakse NixOS-i bootstrapping'u toetust ainult lähtekoodidest, gcc 4.6.4 bootstrapping'u võimalust ning ka kogu süsteemi kompileerimise toetust lähtekoodidest Linuxi keskkondades, mis põhinevad arhitektuuridel armhf ja riscv64.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster