~/talk

Cross compilation with clang and LLVM tools.

links:none on file
slides:none on file

Clang and LLVM aim to be drop‑in for GCC but require explicit plumbing: use clang with --gcc-toolchain and --sysroot to point at a GCC cross toolchain, rebuild libunwind, libc++abi and compiler‑rt for ARM/AArch64, and pass explicit include/lib paths for libc++/compiler-rt usage. Integrated assembler and lld differ from GNU tools (assembly syntax and linker‑script/OMAGIC edge cases), so several fiddly flags are necessary; an example with sanitizer + exception handling is shown working after rebuilding the runtime libs. No single downloadable multi‑lib clang cross‑toolchain exists yet.

AI-written summary · about

  1. 0:00Intro
  2. 1:55Definitions
  3. 2:17Motivation for cross compilation
  4. 2:33A cross compiled application
  5. 6:06Using Clang as a Cross Compiler
  6. 10:55Arm Target Triple examples
  7. 13:48Anatomy of a Clang installation
  8. 16:36Using a Clang installation for cross compiling
  9. 17:14Finding the location of a GCC cross compiler A bunch of heuristics guided by two relevant command-line options
  10. 19:25Example multiarch on Ubuntu 16.04
  11. 20:41Limitations of Clang's Driver
  12. 22:20Additional cross compilation options
  13. 25:05A C++ example using libc++ and sanitizers
  14. 25:48Cross compiling for embedded systems
  15. 28:45Cross compilation with CMake
  16. 31:21Differences between GCC and Clang
  17. 31:34GCC/Clang assembler differences
  18. 34:27GCC/Clang general differences
  19. 35:50LLD Limitations and differences
  20. 38:49Supporting Clang in your open source project • Rely on the cross-compilation options of the build system
  21. 41:13How could we assemble a Clang toolchain today?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.