3 ms·
No but it's complicated. We shipped ARM64 clang built linux kernels with clang-4.0 in Google Pixel 2. x86_64 was buildable up until ~4.20 Linux kernel release
by ndesaulniers 7y ago
No but it's complicated. We shipped ARM64 clang built linux kernels with clang-4.0 in Google Pixel 2.
x86_64 was buildable up until ~4.20 Linux kernel release. (so we could build 4.4, 4.9, 4.14, and 4.19 LTS x86_64 kernels pre-clang-9). The x86_64 maintainers required the use of CONFIG_JUMP_LABEL/asm goto in the 4.20 kernel release IIRC.
Certain configs and drivers needed compiler fixes.
Pretty soon we'll be moving Android and ChromeOS' arm32 kernels over to Clang as well. CONFIG_FUNCTION_TRACER makes the compiler emit __gnu_mcount_nc calls with a non-standard calling convention just on arm32. You should have seen the Apple reviewer's reaction to the LLVM patch implementing support in LLVM for that!
There's also traces of code in the kernel that suggest it was once build-able with ICC at one point. The code looks broken to me and I suspect it doesn't work. That said, if anyone knows anyone compiling the Linux kernel with ICC, I'd love to get in touch.
- ComputerGuru 7y agoI want to say Intel was advertising compiling the kernel with ICC around 2009 or so. (ICC and I parted ways around 2010).