GNU Mes 0.25 väljaanne, iseseisva jaotuste koostamise tööriistakomplekt

Pärast poolteist aastat arendustööd on välja antud GNU Mes 0.25 tööriistakomplekt, mis tagab GCC buutimise (bootstrap) protsessi ja võimaldab saavutada ringlussevõtu tsüklit algallikatest. Tööriistakomplekt lahendab verifitseeritud algse kompilatsiooni koostamise probleemi jaotustes, katkestades tsüklilise ümberkomplekteerimise ahela (kompilaatori koostamiseks on vajalikud juba koostatud kompilaatori täitmisfailid ja kompilaatori binaarsed koosseisud võivad olla varjatud tagakiusamise allikaks, mis ei võimalda täielikult garanteerida koosseisude terviklikkust jaotuste etalonallikatest).

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 RISC-V arhidektuuri (RISC-V64-linux) tugi ja M2-Planet transpaileri kasutamise tugi. Toetatakse kogumist M2-Planet versiooniga 1.11.0 sihtplatvormile x86_64-linux. M2-Planet'i kasutamisel ei ole enam vajalik bootstrapi režiimi "—bootstrap-mode" määramine. MesCC-s on lahendatud ühilduvusprobleemid GCC versioonidega 10+, tagatud struktuuride väljade initsialiseerimine väärtusele 0 ja taastatud võimalus binaarfailide silumise võimalus spetsiaalsetel funktsioonide tasemetel.

Järgmistes väljaannetes on oodata NixOS-i bootstrapi toetust ainult lähtekoodidest, Guile'iga täielikult ühilduvate moodulite toetust, Gashi ja Gash-Utilsi käitamise võimalust, gcc 4.6.4 bootstrapi toetust ning võimalust koguda kogu süsteem täielikult lähtekoodidest Linuxi keskkondades armhf ja riscv64 arhitektuuride alusel.

Allikas: opennet.ru

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