From 556c9c2168b266479039e790a13646994ba4e400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sun, 6 Jul 2025 19:34:50 +0200 Subject: [PATCH] glibc: Don't link threaded stub libraries if all modules are single-threaded Part of #24347. --- src/link/Lld.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/link/Lld.zig b/src/link/Lld.zig index 4b3c611b4a9f..94ab79d65f60 100644 --- a/src/link/Lld.zig +++ b/src/link/Lld.zig @@ -1217,6 +1217,11 @@ fn elfLink(lld: *Lld, arena: Allocator) !void { if (lib.removed_in) |rem_in| { if (target.os.versionRange().gnuLibCVersion().?.order(rem_in) != .lt) continue; } + if (!comp.config.any_non_single_threaded and + (std.mem.eql(u8, lib.name, "pthread") or + std.mem.eql(u8, lib.name, "resolv") or + std.mem.eql(u8, lib.name, "rt") or + std.mem.eql(u8, lib.name, "util"))) continue; const lib_path = try std.fmt.allocPrint(arena, "{}{c}lib{s}.so.{d}", .{ comp.glibc_so_files.?.dir_path, fs.path.sep, lib.name, lib.sover,