Re: [PATCH 0/7] LLVM: make x86_64 kernel build with clang.
From: Dmitry Vyukov
Date: Fri Mar 17 2017 - 04:18:48 EST
On Fri, Mar 17, 2017 at 1:15 AM, Michael Davidson <md@xxxxxxxxxx> wrote:
> 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.
Thanks, Michael!
This will help us a lot with KMSAN (uninit use detector) and code coverage.
> 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
>