3 ms·
The automation for this is actually trickier than it would first appear: especially with the earlier snapshots, a number of patches are needed to compile the LL
by LegionMammal978 6y ago
The automation for this is actually trickier than it would first appear: especially with the earlier snapshots, a number of patches are needed to compile the LLVM interfaces written in C++. Also, due to linking issues, some snapshots require a stage2 compiler, while others can only use a stage1 compiler. I agree that it would be trivial once you have the chain in place, but that chain can only be built through trial and error.
- Blikkentrekker 6y agoAnd no one has done this before? Methinks that building this chain by trial and error is rather trivial compared to the actual work in building a compiler.
- sanxiyn 6y agoWe are discussing mrustc here. The reason it hasn't been done yet is that nearly everyone interested in this agrees mrustc is a better bootstrapping path than starting from the last OCaml version.
- Blikkentrekker 6y agoThat it's a better bootstrapping process for the user has no relationship with the ease of development for the developer. Typically, they are inversely correlated.
- qqii 6y agoGuix performed the bootstrap from mrustc 0.8 for rust 1.19 all the way to rust 1.28 in 2018: https://guix.gnu.org/en/blog/2018/bootstrapping-rust/ https://guix.gnu.org/en/blog/2018/bootstrapping-rust/ Since them they've bootstrapped this all the way to 1.50: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/rust.scm#n1454 https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages... The work done here is non trivial, this chain of versions are required for the final binary to be reproducible.