[ TO Mark Rutland ] Hi, I was able to build a Linux v4.18-rc6 with tip.git#locking/core [1] on top of it here on Debian/buster AMD64. The patch of interest is [2]... df79ed2c0643 locking/atomics: Simplify cmpxchg() instrumentation ...and some more locking/atomics[/x86] may be interesting. I had also to apply an asm-goto fix to reduce the number of warnings when building with clang-7 (version 7.0.0-svn337957-1~exp1+0~20180725200907.1908~1.gbpcccb1b (trunk)). CONFIG_DRM_AMDGPU=m is BROKEN and a known issue [3]. I had to hack my fakeroot-sysv binary to workaround a fatal build-stop by commenting the part "nested operation not yet supported" when using bindeb-pkg make-target. The kernel does ***not boot*** on bare metal. More details see [4] and [5] for the clang-side. - Sedat - [1] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=locking/core [2] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=locking/core&id=df79ed2c064363cdc7d2d896923c1885d4e30520 [3] https://lists.freedesktop.org/archives/amd-gfx/2018-July/024634.html [4] https://github.com/ClangBuiltLinux/linux/issues/3 [5] https://bugs.llvm.org/show_bug.cgi?id=33587
From 5c3485197eab808768271d72e188ad11b6fcecd4 Mon Sep 17 00:00:00 2001 From: Sedat Dilek <sedat.dilek@xxxxxxxxxxx> Date: Fri, 8 Jun 2018 18:23:26 +0200 Subject: [PATCH] x86: Warn clang does not support asm-goto Signed-off-by: Sedat Dilek <sedat.dilek@xxxxxxxxxxx> --- arch/x86/Makefile | 2 +- arch/x86/include/asm/cpufeature.h | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/x86/Makefile b/arch/x86/Makefile index a08e82856563..6042f6f5a1be 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -181,7 +181,7 @@ ifdef CONFIG_FUNCTION_GRAPH_TRACER endif ifndef CC_HAVE_ASM_GOTO - $(error Compiler lacks asm-goto support.) + $(warning Compiler lacks asm-goto support.) endif # diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h index aced6c9290d6..79177f0efdf1 100644 --- a/arch/x86/include/asm/cpufeature.h +++ b/arch/x86/include/asm/cpufeature.h @@ -140,16 +140,9 @@ extern void clear_cpu_cap(struct cpuinfo_x86 *c, unsigned int bit); #define setup_force_cpu_bug(bit) setup_force_cpu_cap(bit) +/* Clang does not support asm-goto (see LLVM bug #9295). */ #if defined(__clang__) && !defined(CC_HAVE_ASM_GOTO) -/* - * Workaround for the sake of BPF compilation which utilizes kernel - * headers, but clang does not support ASM GOTO and fails the build. - */ -#ifndef __BPF_TRACING__ -#warning "Compiler lacks ASM_GOTO support. Add -D __BPF_TRACING__ to your compiler arguments" -#endif - #define static_cpu_has(bit) boot_cpu_has(bit) #else -- 2.18.0
Attachment:
config-4.18.0-rc6-1-iniza-llvmlinux
Description: Binary data