Linux 6.9 To Allow Building s390 Kernel With The Full LLVM/Clang Compiler
Adding to the Linux 6.9 features one of the changes that went under my radar is that the s390 kernel builds can now be carried out using the full LLVM compiler stack.
The Linux kernel code for IBM s390 / zSeries hardware can now be built with LLVM/Clang in addition to the long-used GNU Compiler Collection (GCC). The s390 merge back during the v6.9 merge window has changes to allow the s390 kernel to be compiled using the "LLVM=1" option. This does require the very latest LLVM compiler code though as ld.lld and llvm-objcopy are only seeing proper s390 / SystemZ support with the brand new LLVM/Clang 18.1 compiler version.
The Linux kernel build with LLVM=1 allows for using not only the Clang compiler but also the ld.lld linker and various other LLVM utilities (CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld). Previously the IBM s390/SystemZ Linux kernel could build with Clang but keeping to the rest of the GNU utilities.
A documentation update merged to Linux 6.9 on Sunday outlines that full "LLVM=1" kernel build support when using LLVM 18.1+.
The Linux kernel code for IBM s390 / zSeries hardware can now be built with LLVM/Clang in addition to the long-used GNU Compiler Collection (GCC). The s390 merge back during the v6.9 merge window has changes to allow the s390 kernel to be compiled using the "LLVM=1" option. This does require the very latest LLVM compiler code though as ld.lld and llvm-objcopy are only seeing proper s390 / SystemZ support with the brand new LLVM/Clang 18.1 compiler version.
The Linux kernel build with LLVM=1 allows for using not only the Clang compiler but also the ld.lld linker and various other LLVM utilities (CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld). Previously the IBM s390/SystemZ Linux kernel could build with Clang but keeping to the rest of the GNU utilities.
A documentation update merged to Linux 6.9 on Sunday outlines that full "LLVM=1" kernel build support when using LLVM 18.1+.
4 Comments