LLVMLinux: Compiling Android with LLVM
summary
Project patches make Linux build with Clang/LLVM; the team compiles kernels and boots real devices: Clang-built kernel boots Nexus 7 (shows "clang 3.3" in /proc/last_kmsg) but the Galaxy S3 hits an Android reboot loop because the sound driver never comes up. Key tooling facts: LLVM is faster to compile, binaries are similar in size/speed, Debian rebuilds show ~10% packages fail with Clang. Main blockers are Kbuild’s GCC assumptions, inline-asm/assembler differences, linker attribute handling, and GNU89 vs GNU99 semantics.
AI-written summary · about
chapters (21)
- 0:00LLVMLinux: Compiling Android with LLVM
- 0:22Original idea for the talk
- 1:23Fast Moving Project
- 3:14Toolchain Toolkit
- 5:02One Toolchain
- 7:03LLVM License
- 13:34LLVM toolchain suite
- 14:35Commercial Deployment
- 16:58LLVMLinux Automated Build Framework
- 20:48Challenges Using Clang for Cross Compilation
- 24:55Challenges with the Linux kernel
- 27:06Linux kernel Patches
- 28:57LLVM for Linux Status
- 30:26Android Development on a Galaxy S3
- 31:41Android Kernel for GalaxyS3
- 34:14Android Development for Nexus 7
- 37:34Using LLVM to build Android
- 38:29Change CC in Makefiles
- 39:31Wrapper script in PATH
- 40:13Wrapper Replacing Compilers
- 40:43Overall Observations
related talks
43mLLVMLinux: Compiling the Linux Kernel with LLVM
49mLLVMLinux: The Linux Kernel with Dragon Wings
29mBuilding the Linux kernel with Clang
19m"ClangBuiltLinux: What's Next?"
46mClinging to Clang
11mAOSP on taped-out RISC-V SoC without RVA22/23, I came back to finish... "Ruinland"
53mLLVM
19mClangBuiltLinux: What's Next?
