Tutorial: Toolchains
summary
Builds three working toolchains using the riscv-new-toolchain repo: a 32-bit newlib bare-metal GCC toolchain, a 64-bit Linux glibc (glibc-ish) toolchain that passes the GCC regression suite for riscv (no failures), and a 64-bit LLVM toolchain compiled from a pull request. Emulation runs on QEMU (qemu user/system) and tests execute with the emulator; cross-debugging is done via QEMU + GDB (remote gdbserver), and example binaries run successfully.
AI-written summary · about
chapters (44)
- 0:00Introduction
- 0:13Agenda
- 1:10About me
- 1:38About toolchains
- 2:59Outline
- 3:28History
- 4:55Technical Groups
- 7:47Resources
- 8:33Specifications
- 10:41Extensions
- 12:26Nonizer Extensions
- 15:20Part 2 Agenda
- 15:50Compilers
- 16:48Components
- 17:47Risk 5 Toolchains
- 19:09Cross Toolchains
- 22:47System Root
- 25:43llvm
- 26:30Toolschains
- 29:14Compiler Explorer
- 30:04Part 3 Overview
- 30:53Required Packages
- 32:27Configure Arguments
- 32:42Multilib Toolchains
- 33:09Test Suite
- 33:39Test Simulator
- 33:58Limit number of tests
- 34:28Test case directory
- 34:57Submodules
- 36:01Build the first toolchain
- 39:31Exit code
- 40:03Hello World example
- 40:58Hello World execution
- 43:43Configure Flex
- 45:03Parallel Build
- 45:39Build Success
- 46:59Test Results
- 48:43Tab Completion
- 49:48Headers
- 50:06Binary
- 51:00llvm Support
- 52:41Linked a little verb
- 53:25Hello World
- 56:40Debugging in an emulated environment
related talks
24mRISC V LLVM: Towards A Production-Ready LLVM-Based Toolchain
45mCross compilation with clang and LLVM tools.
37mToolchain Options in 2023: What's New in Compilers and Libcs?
59mAnatomy of Cross-Compilation Toolchains
43mLLVMLinux: Compiling the Linux Kernel with LLVM
49mLLVMLinux: The Linux Kernel with Dragon Wings
54mGNU CGEN for RISC V Tool Chain Customization
31mToolchains for People in a Hurry: Latest Features of GCC/GLIBC
