yee fucking haw!
does this mean what i think it means!?
yee fucking haw!
does this mean what i think it means!?
What do you think it means?
that we (or rather: you) are about to solve the bootstrapping problem for the rust toolchain and we get closer to a GCC frontend for the rust language
Oh, sorry for the confusion: this is about rustc_codegen_gcc
which is a codegen plugin for rustc
that uses libgccjit
to generate the object files via GCC instead of LLVM, so it still requires rustc
. There's another project that is a GCC frontend, called gccrs.
Also, bootstrap is overloaded: in this case, a full bootstrap means that we can compile the Rust compiler with rustc_codegen_gcc
, producing a stage-2 compiler, then recompile the Rust compiler with this stage-2 compiler to get a stage-3 compiler and those 2 compares as equal.
That’s still a very major achievement! Do I understand correctly this means all target architectures supported by GCC are now unlocked for Rust too?
Well, we can generate code for targets not supported by LLVM, but it is not trivial to setup (we hope to get rustup support in the coming months to make this easier) and most GCC targets won't pass as many tests as x86-64 with rustc_codegen_gcc. There's some info in the wiki about some targets that people tried.
It is an optional goal for the Google Summer of Code to bootstrap the rust compiler on other platforms, so we might be able to get a working rustc
for new platforms by the end of the summer.
nevertheless, i still want to cheer for you and the achievement! 🥳
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Credits