Moving Towards Building The Linux Kernel With Clang

Posted by Michael Larabel on November 04, 2012

While it hasn't been a news item for a couple months, a group of developers are still hard at work to advance the LLVM/Clang compiler and the Linux kernel to a point where this alternative compiler to GCC can be used for building the Linux kernel.

Going back two years ago when a concerted effort began to build the Linux kernel with LLVM's Clang compiler. At the time a number of patches were needed to both LLVM/Clang and the Linux kernel itself plus there were lots of broken parts. Patches are still needed, but more of the Linux kernel is properly working and it's an easier process than it once was.

Building the Linux kernel with the Apple-sponsored C/C++ compiler began as an independent project by individuals, but Qualcomm has also jumped on the task as they want to build ARM Linux kernels with Clang for their hardware. In August at LinuxCon was the most recent status update on the LLVM Linux project.

While there is no major announcement to share this weekend, for those interested in supporting this project or trying out an x86_64/ARM Clang'ed kernel build, the efforts continue to be centralized at llvm.linuxfoundation.org.

There is an easy-to-use project bug status report there that shows the state of LLVM issues for x86 and ARM, outstanding kernel issues, and Clang problems. Among the outstanding issues are items like superfluous warnings when compiling the kernel, the which command seg-faulting from Clang-built kernels on ARM, global register variables not being supported in LLVM/Clang, various compiler arguments that Clang is missing compared to GCC, a crash in the Clang static analyzer, broken kernel module unloading, etc.

While there are outstanding problems, it is possible to build a (non-production) working kernel. The Git repository for the modified Linux kernel that supports building under LLVM/Clang can be found on the Linux Foundation server. For those looking to get involved, there is an active mailing list.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  5. New NVIDIA Linux Driver Supports The GeForce GTX 780
  6. Chrome 28 To Offer More Speed Improvements
  7. Digia Announces "Boot To Qt" Project
  8. X.Org Libraries Hit By Round Of Security Issues
  9. Wayland's Weston Gets Output Scaling Support
  10. Raspberry Pi Gets New Wayland Weston Renderer
  11. Debian GNU/Hurd 2013 Release Brings New Packages
Latest Forum Talk
  1. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  2. AMD RadeonSI Gallium3D Begins Simple CL Demos
  3. Intel Shows Off GNOME3-Based Tizen Shell
  4. Linux Desktop Security Could Be A Whole Lot Better
  5. Microsoft's zombie attacks Android (again)
  6. Raspberry Pi Gets New Wayland Weston Renderer
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite