From fcdcd416932a67c0d861184394ab052ca96f9654 Mon Sep 17 00:00:00 2001 From: dim Date: Wed, 9 Sep 2020 20:48:57 +0000 Subject: [PATCH] Follow-up r364753 by enabling compiler-rt's atomic implementation only for clang, as it uses clang specific builtins, and does not compile correctly with gcc. Note that gcc packages usually come with their own libatomic, providing these primitives. PR: 230888 MFC after: 3 days X-MFC-With: r364753 --- lib/libcompiler_rt/Makefile.inc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/libcompiler_rt/Makefile.inc b/lib/libcompiler_rt/Makefile.inc index 617be44c009..10797e93e63 100644 --- a/lib/libcompiler_rt/Makefile.inc +++ b/lib/libcompiler_rt/Makefile.inc @@ -18,7 +18,6 @@ SRCF+= ashldi3 SRCF+= ashlti3 SRCF+= ashrdi3 SRCF+= ashrti3 -SRCF+= atomic SRCF+= bswapdi2 SRCF+= bswapsi2 SRCF+= clear_cache @@ -123,6 +122,12 @@ SRCF+= umoddi3 SRCF+= umodsi3 SRCF+= umodti3 +# Enable compiler-rt's atomic implementation only for clang, as it uses clang +# specific builtins, and gcc packages usually come with their own libatomic. +.if "${COMPILER_TYPE}" == "clang" +SRCF+= atomic +.endif + # Avoid using SSE2 instructions on i386, if unsupported. .if ${MACHINE_CPUARCH} == "i386" && empty(MACHINE_CPU:Msse2) SRCS+= floatdidf.c -- 2.45.0