|
|
Subscribe / Log in / New account

LLVM: make x86_64 kernel build with clang.

From:  Michael Davidson <md-AT-google.com>
To:  Michal Marek <mmarek-AT-suse.com>, Thomas Gleixner <tglx-AT-linutronix.de>, Ingo Molnar <mingo-AT-redhat.com>, "H. Peter Anvin" <hpa-AT-zytor.com>, Herbert Xu <herbert-AT-gondor.apana.org.au>, "David S. Miller" <davem-AT-davemloft.net>, Shaohua Li <shli-AT-kernel.org>
Subject:  [PATCH 0/7] LLVM: make x86_64 kernel build with clang.
Date:  Thu, 16 Mar 2017 17:15:13 -0700
Message-ID:  <20170317001520.85223-1-md@google.com>
Cc:  Alexander Potapenko <glider-AT-google.com>, Dmitry Vyukov <dvyukov-AT-google.com>, Matthias Kaehlcke <mka-AT-chromium.org>, x86-AT-kernel.org, linux-kbuild-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-crypto-AT-vger.kernel.org, linux-raid-AT-vger.kernel.org, Michael Davidson <md-AT-google.com>

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



Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds