On Tue, Aug 04, 2020 at 07:40:45PM -0400, George Koehler wrote:
> On Tue, 4 Aug 2020 23:22:14 +0100
> Stuart Henderson <s...@spacehopper.org> wrote:
> 
> > ld.lld: error: undefined symbol: __atomic_is_lock_free
> 
> kettenis wrote an __atomic_is_lock_free for macppc when it switched to
> base-clang: /usr/src/lib/libcompiler_rt/ppc/atomic_lock_free.c
> 
> Do we now need to write __atomic_is_lock_free for i386?
> 
> This commit might be the cause:
>   [X86] Correct the value of MaxAtomicInlineWidth for pre-586 cpus
>   https://github.com/llvm/llvm-project/commit/7339e61
>   https://reviews.llvm.org/D59566
> 
> clang might call __atomic_is_lock_free to check whether the cpu can
> cmpxchg8b.
> 
> 

or we make the baseline i586?

Index: gnu/llvm/clang/lib/Driver/ToolChains/Arch/X86.cpp
===================================================================
RCS file: /cvs/src/gnu/llvm/clang/lib/Driver/ToolChains/Arch/X86.cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 X86.cpp
--- gnu/llvm/clang/lib/Driver/ToolChains/Arch/X86.cpp   3 Aug 2020 14:31:33 
-0000       1.1.1.1
+++ gnu/llvm/clang/lib/Driver/ToolChains/Arch/X86.cpp   5 Aug 2020 17:15:56 
-0000
@@ -95,9 +95,9 @@ const char *x86::getX86TargetCPU(const A
   switch (Triple.getOS()) {
   case llvm::Triple::FreeBSD:
   case llvm::Triple::NetBSD:
-  case llvm::Triple::OpenBSD:
     return "i486";
   case llvm::Triple::Haiku:
+  case llvm::Triple::OpenBSD:
     return "i586";
   default:
     // Fallback to p4.

Reply via email to