On Tue, Aug 04, 2020 at 07:40:45PM -0400, George Koehler wrote:
> On Tue, 4 Aug 2020 23:22:14 +0100
> Stuart Henderson <[email protected]> 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.