Anatomy of Cross-Compilation Toolchains
summary
Cross-compilation toolchains are four pieces: binutils, GCC, kernel headers, C library. Build order is binutils → host libs (GMP/MPFR/MPC) → install kernel headers → stage‑1 GCC (no libc) → build libc for the target → final GCC; sysroot holds target headers/libs and can be made relocatable or overridden with --sysroot. glibc binaries add about 1.7 MB vs uClibc/musl roughly 1.1–1.4 MB in a simple ARM toolchain, and a full toolchain build typically completes in ~15–20 minutes on a modern machine.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 2:08What is CrossCompilation Toolchains
- 4:21System Definition
- 5:43ARM
- 6:30Linux
- 8:36Toshin
- 9:05OneByOne
- 11:22GCC
- 13:55C headers
- 15:34Backward compatibility
- 25:18Muscle
- 26:44Size
- 28:13Mathematical Libraries
- 29:26Build Process
- 32:46ThisRoute
- 38:39Inside the Toolchain
- 41:46Bin Folder
- 43:44LeapExact
- 44:11Architecture Tuning
- 45:28API
- 46:42Arm API
- 48:31Toolchain vs SDK
- 49:21How to get a toolchain
- 51:16References
- 51:44Questions
related talks
45mCross compilation with clang and LLVM tools.
37mToolchain Options in 2023: What's New in Compilers and Libcs?
01h 05mTutorial: Toolchains
31mToolchains for People in a Hurry: Latest Features of GCC/GLIBC
18mThe Horrors That Lurk: Understanding the Linux Compiler Landscape for Developers
40mCompact C Type Format in the GNU Toolchain
01h 04mThe Bits Between the Bits: How We Get to main()
54mGCC/Clang Optimizations for Embedded Linux
