[PATCH 0/7] LLVM: make x86_64 kernel build with clang.

From: Michael Davidson
Date: Thu Mar 16 2017 - 21:19:24 EST


This patch set is sufficient to get the x86_64 kernel to build
and boot correctly with clang-3.8 or greater.

The resulting build still has about 300 warnings, very few of
which appear to be significant. Most of them should be fixable
with some minor code refactoring although a few of them, such
as the complaints about implict conversions between enumerated
types may be candidates for just being disabled.

Michael Davidson (7):
Makefile, LLVM: add -no-integrated-as to KBUILD_[AC]FLAGS
Makefile, x86, LLVM: disable unsupported optimization flags
x86, LLVM: suppress clang warnings about unaligned accesses
x86, boot, LLVM: #undef memcpy etc in string.c
x86, boot, LLVM: Use regparm=0 for memcpy and memset
md/raid10, LLVM: get rid of variable length array
crypto, x86, LLVM: aesni - fix token pasting

Makefile | 4 ++++
arch/x86/Makefile | 7 +++++++
arch/x86/boot/copy.S | 15 +++++++++++++--
arch/x86/boot/string.c | 9 +++++++++
arch/x86/boot/string.h | 13 +++++++++++++
arch/x86/crypto/aes_ctrby8_avx-x86_64.S | 7 ++-----
drivers/md/raid10.c | 9 ++++-----
7 files changed, 52 insertions(+), 12 deletions(-)

--
2.12.0.367.g23dc2f6d3c-goog