rustc_codegen_gcc: A gcc codegen for the Rust compiler
summary
rustc_codegen_gcc plugs libgccjit into rustc and is now merged into the main Rust repo; it can compile the Rust compiler with GCC codegen and the produced compiler successfully builds and runs a hello world. support added for globals, packed structs, inline asm, symbol visibility, many intrinsics and 128-bit integers (mdns on non-native 128-bit targets still broken). UI tests gain +461 passing and 50 fewer failures; stdarch x86_64 almost green with ~12 failures left. missing: unwinding/panic, debug info, and LTO; many GCC patches still upstream work.
AI-written summary · about
chapters (18)
- 0:00Introduction to project
- 1:48Progress since last year
- 8:03Current features summary
- 9:27Future work needed
- 11:15Challenges with Rust API
- 14:21GCC improvements needed
- 15:28Compiling Rust for Linux
- 16:53Distribution and patches
- 17:55Target triple and architectures
- 18:39How to contribute
- 20:06Q&A: GCC vs LLVM integration
- 21:33Q&A: Favorite part of project
- 21:57Q&A: Link time optimization
- 23:30Q&A: Godbolt integration
- 24:39Q&A: High-level thoughts on approaches
- 25:43Q&A: Disadvantages of approach
- 26:47Q&A: GCC flag support
- 27:08Q&A: Output file formats
related talks
30mgccrs: An alternative compiler for Rust
36mInching ever closer to the Rust standard library with gccrs
32mrustc in userland
44mCompiling the Linux Kernel with gccrs
24mThe road to compiling the standard library with gccrs
23mBootstrapping: The once and future compiler
09mRustc: How I Learned to Respect the Compiler
30mIntegrating Rust into Tor: Successes and Challenges
