Commit f8372d030e

Alex Rønne Petersen <alex@alexrp.com>
2024-12-06 14:00:49
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.
1 parent c9d6f8b
Changed files (1)
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")) {