Explore the challenges and solutions in adopting LLVM and Clang for Linux kernel and user space development on the Hexagon DSP. Delve into the process of making LLVM a drop-in replacement for GCC and building an entire Linux stack. Learn about the problems encountered when compiling glibc with LLVM and the solutions implemented. Discover ongoing compiler and toolset issues, and understand how compiling Linux user space with LLVM serves as an excellent test suite for compiler and tools development. Gain insights into topics such as global inline assembly, LLVM warnings, controlling names and assembler code, and dependencies. Compare C and GCC implementations, and participate in a Q&A session to further expand your knowledge on this subject.
Overview
Syllabus
Introduction
What are we doing
Selfish compiler perspective
Hexagon DSP
Correctness
Hexagon kernel
User space
Global inline assembly
LLVM warning
Controlling names and assembler code
Dependencies
Conclusion
C vs GCC
QA
Taught by
Linux Plumbers Conference