From f8372d030e50b6eec50fd21a387b4d875f81a178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Fri, 6 Dec 2024 14:00:49 +0100 Subject: [PATCH] compiler: Classify libatomic as an alias for compiler-rt. This is a library that ships with GCC and provides fallback implementations of atomic intrinsics where necessary. Since we do the same in our compiler-rt implementation, and since some build systems insist on passing -latomic even for Clang (which zig cc masquerades as), just satisfy this dependency by way of compiler-rt. Closes #22165. --- src/target.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/target.zig b/src/target.zig index 6297d21bfc..ae3a8e7ecc 100644 --- a/src/target.zig +++ b/src/target.zig @@ -267,7 +267,9 @@ pub fn classifyCompilerRtLibName(target: std.Target, name: []const u8) CompilerR // the linker unable to find `_Unwind_RaiseException` and other related symbols. return .both; } - if (std.mem.eql(u8, name, "compiler_rt")) { + if (std.mem.eql(u8, name, "compiler_rt") or + std.mem.eql(u8, name, "atomic")) + { return .only_compiler_rt; } if (std.mem.eql(u8, name, "unwind")) {