Re: [llvmlinux] clang fails on linux-next since commit 8bf705d13039

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ 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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux