Hello 馃憢

I am a Linux kernel developer focused on improving compatibility with LLVM and clang as part of ClangBuiltLinux. I mostly blog about my work and tips and tricks that I discover.

November 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

November 30, 2022 路 6 min 路 Nathan Chancellor

October 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

October 31, 2022 路 6 min 路 Nathan Chancellor

September 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

September 29, 2022 路 7 min 路 Nathan Chancellor

August 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Miscellaneous fixes and improvements: These are fixes and improvements that don鈥檛 fit into a particular category but are important to ClangBuiltLinux. scripts/Makefile.extrawarn: Do not disable clang's -Wformat-zero-length (v1) x86/build: Move '-mindirect-branch-cs-prefix' out of GCC-only block (v1) Stable backport requests: It is important to make sure that the stable trees are as free from issues as possible, as those are the trees that devices and users use; for example, Android and Chrome OS regularly merge from stable, so if there is a problem that will impact those trees that we fixed in mainline, it should be backported....

August 31, 2022 路 6 min 路 Nathan Chancellor

July 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

July 29, 2022 路 6 min 路 Nathan Chancellor

June 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Android changes: Android is one of the largest downstream consumers of our work. Our continuous integeration tests the Android trees with newer versions of LLVM to help catch any issues that will impact Android once they upgrade their version of LLVM, which can lag behind at times....

June 30, 2022 路 6 min 路 Nathan Chancellor

May 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

May 31, 2022 路 7 min 路 Nathan Chancellor

Setting up a self-hosted GitHub Actions runner in a Fedora virtual machine using libvirt

Recently, I started exploring setting up a self-hosted GitHub Actions runner for the work-in-progress LLVM builds that ClangBuiltLinux is looking to distribute on kernel.org, as GitHub Actions hosted runners are pretty underwhelming in terms of performance and we want to soup these builds up with Profile Guided Optimization. Additionallly, GitHub Actions does not have a hosted arm64 Linux option, which is becoming increasingly important with chips such as Apple鈥檚 M1 getting strong mainline Linux support....

May 27, 2022 路 11 min 路 Nathan Chancellor

April 2022 ClangBuiltLinux Work

Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org. Linux kernel patches Build failures: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)...

April 29, 2022 路 6 min 路 Nathan Chancellor

Bisecting a Linux Kernel boot failure due to changed compiler flags

Occasionally, compiling the Linux kernel with a new compiler flag will result in a boot failure. If you are lucky, there will be some output to the serial console but that may not happen if the issue happens in early boot code before the serial driver has loaded. When this happens, it usually requires building part of the kernel without the compiler flag (or the 鈥渘egative鈥 version of it) to try and figure out the exact translation unit and function that causes the problem....

April 28, 2022 路 7 min 路 Nathan Chancellor