From 90303a7b619ee104133089fc3cf74674d03bf42e Mon Sep 17 00:00:00 2001 From: kcbanner Date: Fri, 5 Jun 2026 01:55:35 -0400 Subject: [PATCH] - Fixup for new prelink task API --- src/Compilation.zig | 7 ++++++- src/link.zig | 2 +- src/link/Coff.zig | 9 ++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index b5c74b8ad8abdba4412fbcae4092e9e794b0e536..527e71a8994aaf430e080a6d436cdda7f0b8c4cf 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -5402,7 +5402,12 @@ fn buildMingwImportLib(comp: *Compilation, lib_name: []const u8, is_prelink: boo }; if (is_prelink) - comp.queuePrelinkTasks(&.{.{ .load_archive = crt_file_path }}) catch |err| comp.lockAndSetMiscFailure( + comp.queuePrelinkTasks(&.{.{ + .load_archive = .{ + .path = crt_file_path, + .must_link = false, + }, + }}) catch |err| comp.lockAndSetMiscFailure( .windows_import_lib, "unable to queue prelink task for mingw import lib {f}: {t}", .{ crt_file_path, err }, diff --git a/src/link.zig b/src/link.zig index 8d3203df40936d99bf179097e92fdf497484573d..6352c03b0282e8ebadf26234dce2228673e42195 100644 --- a/src/link.zig +++ b/src/link.zig @@ -1568,7 +1568,7 @@ pub fn doPrelinkTask(comp: *Compilation, task: PrelinkTask) void { }) catch return diags.setAllocFailure(), ); if (std.mem.endsWith(u8, lib.name, "lib")) { - base.openLoadArchive(path, null) catch |err| switch (err) { + base.openLoadArchive(path, false) catch |err| switch (err) { error.LinkFailure => return, // error reported via diags else => |e| diags.addParseError(path, "failed to parse archive: {s}", .{@errorName(e)}), }; diff --git a/src/link/Coff.zig b/src/link/Coff.zig index 63933fa5599712a9be3c1ab133403630fec78bb7..5c48b4beceacc8142c8ad1a4168faeee719a791e 100644 --- a/src/link/Coff.zig +++ b/src/link/Coff.zig @@ -6404,13 +6404,7 @@ fn flushSpecialSymbol(coff: *Coff, pending: SpecialSymbol) !SpecialSymbol { .{ "wWinMainCRTStartup", "wWinMainCRTStartup" }, } else - &.{.{ - null, - if (comp.config.link_libc and target.abi.isGnu()) - "DllMainCRTStartup" - else - "_DllMainCRTStartup", - }}; + &.{.{ null, if (target.abi.isGnu()) "DllMainCRTStartup" else "_DllMainCRTStartup" }}; const entry_si = for (entries) |entry| { if (entry[0]) |required_name| @@ -7081,6 +7075,7 @@ fn updateExportsInner( Type.fromInterned(ip.typeOf(uav)).abiAlignment(zcu), ))), }; + while (try coff.idle(pt.tid)) {} const machine = coff.targetLoad(&coff.headerPtr().machine); const exported_ni = exported_si.node(coff); -- 2.54.0