rustc_codegen_gcc
gcc-rust
Our great sponsors
rustc_codegen_gcc | gcc-rust | |
---|---|---|
49 | 2 | |
864 | 203 | |
1.9% | - | |
9.6 | 0.0 | |
5 days ago | over 2 years ago | |
Rust | C | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rustc_codegen_gcc
-
How hard would it be to port the Rust toolchain to a new non-POSIX OS written in Rust and get it to host its own development? What would that process entail?
Alternatively, there's another initiative called codegen_gcc which is about using GCC as a backend for the rustc compiler. It's (much) more advanced in Rust support, but I am not sure how easy it would be to use a modified libgccjit from there.
-
Rust contributions for Linux 6.4 are finally merged upstream!
Theres also an official GCC backend for rustc in the works, rustc_codegen_gcc
Yeah, rustc_codegen_gcc is a GCC backend for rustc, and its making a lot of good regular progress.
-
GCC 13 and the State of Gccrs
gcc-rs is one of two projects for bringing Rust to gcc. gcc-rs is the more ambitious of the two, with an entirely new frontend. There is also rustc_codegen_gcc (https://github.com/rust-lang/rustc_codegen_gcc) that keeps the rustc frontend, and only swaps out LLVM for GCC at the codegen stage.
-
Any alternate Rust compilers?
Additionally, there is gcc codegen for rustc (https://github.com/rust-lang/rustc_codegen_gcc), which is not a compiler per se, but an alternative code generator, with more architectures supported and other nice things. It's also coming along, but there's still a lot of work to do there too. There's also Cranelift codegen (https://github.com/bjorn3/rustc_codegen_cranelift), which is designed to make debug builds faster, but this is not as exciting/useful as the other 2.
-
rustc_codegen_gcc: Progress Report #21
Good idea. I added the tag "help wanted" to the issue.
-
A brave new world: building glibc with LLVM
I'm excited about both the backend & the frontend.
-
Rust front-end merged in GCC trunk
There is also a project for rustc to use GCC instead of LLVM for codegen.
-
Rust front-end approved for merge into GCC
All problems which the already existing rustc_codegen_gcc project does not have. As a supported code generation backend to the actual Rust compiler, it provides all the supposed benefits of GCC's Rust improved target support and literally none of the many downsides.
Not to be confused with rustc_codegen_gcc, which allows Rustc to use GCC as an alternative backend. gccrs is an alternative implementation of rustc (and Cargo) in C++ for GCC.
gcc-rust
-
Take your first steps with Rust
Some links on the most promising effort so far, gccrs
https://opensrcsec.com/open_source_security_announces_rust_g...
https://www.embecosm.com/2021/01/12/gcc-rust-how-it-can-be-a...
This is an entirely new frontend written in C++, that shares no code with rustc (the official rust compiler). It might be merged some day in GCC proper.
But honestly, I'm more excited for rustc_codegen_gcc:
https://github.com/antoyo/rustc_codegen_gcc
It adds gcc as an alternative backend of the official Rust compiler. That way it is much more feasible to stay up to date as the language evolves.
Anyway the former two don't actually work right now. The one that does work today is mrustc, or at least it works for bootstrapping rustc; it doesn't have a borrow checker though (and instead assumes the program is correct).
https://github.com/thepowersgang/mrustc
(There's a fourth project, https://github.com/sapir/gcc-rust, but it seems abandoned)
What are some alternatives?
gccrs - GCC Front-End for Rust
min-sized-rust - 🦀 How to minimize Rust binary size 📦
databend - 𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
compiler-explorer - Run compilers interactively from your web browser and interact with the assembly
mrustc - Alternative rust compiler (re-implementation)
libgccjit-patches - Patches awaiting review for libgccjit
avr-hal - embedded-hal abstractions for AVR microcontrollers
Rust-for-Linux - Adding support for the Rust language to the Linux kernel.
gcc - GCC fork with libgccjit changes needed by rustc_codegen_gcc
tour_of_rust - A tour of rust's language features