• frankenswine@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        4 days ago

        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

        • antoyo@programming.devOP
          link
          fedilink
          arrow-up
          4
          ·
          4 days ago

          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.

          • arendjr@programming.dev
            link
            fedilink
            arrow-up
            3
            ·
            4 days ago

            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?

            • antoyo@programming.devOP
              link
              fedilink
              arrow-up
              2
              ·
              3 days ago

              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.