From 36044a0e81702954e0ad5d5bd14a8b23929e7db8 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 4 Jan 2026 23:20:02 -0800 Subject: [PATCH] test-standalone: explicitly link to advapi32 sometimes Now, nearly every object produced by zig has a dependency on advapi32.dll due to the dependency on RtlGenRandom due to the implementation of dirCreateFileAtomic which is now analyzed whether or not it is used. --- test/standalone/issue_5825/build.zig | 1 + test/standalone/test_obj_link_run/build.zig | 1 + test/standalone/windows_argv/build.zig | 1 + 3 files changed, 3 insertions(+) diff --git a/test/standalone/issue_5825/build.zig b/test/standalone/issue_5825/build.zig index e102febe2dcb702f7df29a6a0b95b8f36d2d096f..e5ac02f85e1001634e9216f5c4083d471de64cd6 100644 --- a/test/standalone/issue_5825/build.zig +++ b/test/standalone/issue_5825/build.zig @@ -32,6 +32,7 @@ pub fn build(b: *std.Build) void { }), }); exe.subsystem = .console; + exe.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom exe.root_module.linkSystemLibrary("kernel32", .{}); exe.root_module.linkSystemLibrary("ntdll", .{}); exe.root_module.addObject(obj); diff --git a/test/standalone/test_obj_link_run/build.zig b/test/standalone/test_obj_link_run/build.zig index 24e0e961e7e0ee5aa262aab2f108ce9d906e21d8..c0ba0bc22e5ea8985089664066b5c762d745b13d 100644 --- a/test/standalone/test_obj_link_run/build.zig +++ b/test/standalone/test_obj_link_run/build.zig @@ -12,6 +12,7 @@ pub fn build(b: *std.Build) void { test_obj.root_module.linkSystemLibrary("ntdll", .{}); test_obj.root_module.linkSystemLibrary("kernel32", .{}); test_obj.root_module.linkSystemLibrary("ws2_32", .{}); + test_obj.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom } const test_exe_mod = b.createModule(.{ diff --git a/test/standalone/windows_argv/build.zig b/test/standalone/windows_argv/build.zig index 9b507e978a1d53665800f9c89830690943c26270..b76fd33a2d558ce9ab8b13dad9411008cf85146d 100644 --- a/test/standalone/windows_argv/build.zig +++ b/test/standalone/windows_argv/build.zig @@ -86,6 +86,7 @@ pub fn build(b: *std.Build) !void { .optimize = optimize, }), }); + lib_msvc.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom const verify_msvc = b.addExecutable(.{ .name = "verify-msvc", .root_module = b.createModule(.{ -- 2.54.0