ngaleupaskeun parabot , anu nyayogikeun prosés bootstrapping pikeun GCC sareng ngamungkinkeun pikeun ngawangun deui loop-tutup tina kode sumber.
Toolkit ngarengsekeun masalah ngawangun kompiler awal anu diverifikasi dina distribusi, megatkeun ranté rebuilds siklik (ngawangun kompiler butuh file laksana tina kompiler anu tos diwangun, sareng kompiler binér ngawangun mangrupikeun sumber poténsial pikeun backdoors disumputkeun, anu henteu ngamungkinkeun urang pikeun ngajamin pinuh integritas wangunan tina téks sumber rujukan).
Dina GNU Mess juru basa sorangan pikeun Skéma, ditulis dina basa C, sarta compiler basajan pikeun basa C (MesCC), ditulis dina basa Skéma. Duanana komponén anu interassemblable. Juru Skéma ngamungkinkeun pikeun ngawangun kompiler MesCC C, anu teras ngamungkinkeun anjeun ngawangun versi kompiler anu dilucuti. (tcc), nu geus boga cukup kamampuhan pikeun ngawangun GCC.
Juru basa Skéma cukup kompak, nyandak kira-kira 5000 baris kode dina sawaréh pangbasajanna tina basa C, sareng tiasa dirobih janten file anu tiasa dieksekusi nganggo penerjemah universal. atawa kompiler C pangbasajanna disusun maké assembler timer assembling , nu teu merlukeun kagumantungan éksternal. Juru basa ngawengku hiji collector sampah full-fledged sarta nyadiakeun perpustakaan modul loadable.
Rilis anyar ieu nyayogikeun dukungan pikeun wangunan anu tiasa diulang nganggo bungkus mes+mescc atanapi guile+mescc dina distribusi GNU Guix, Debian GNU/Linux sareng NixOS. Nambihan dukungan pikeun ngajalankeun juru basa Mes Scheme dina GNU Hurd, tapi kompiler C mescc tacan tiasa dianggo kusabab kurangna dukungan pikeun panggero sistem anu diperyogikeun (contona, fork/exec). Dukungan awal pikeun nyiptakeun file executable FreeBSD parantos ditambahkeun. Peningkatan dukungan pikeun bootstrapping distribusi Guix ngan ukur nganggo komponén basa Scheme (shell paréntah Gash (Guile salaku Shell) tinimbang bash sareng Gash Core Utils tinimbang coreutils, grep, sed, gzip, make, awk, sareng tar).
Kaluaran anu bakal datang kalebet dukungan pikeun bootstrapping pikeun NixOS, ngamungkinkeun bootstrapping ngan ukur nganggo komponén Skéma dina cabang wip-bootstrap, dukungan pikeun arsitektur ARM, kamampuan pikeun nyusun Mes.c nganggo M2-Planet, dukungan pinuh pikeun modul Guile, sareng ngajantenkeun mescc nganggo kernel Hurd.
sumber: opennet.ru
