authorgravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2026-06-05 01:55:35-04:00
committergravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2026-06-23 00:26:56-04:00
log90303a7b619ee104133089fc3cf74674d03bf42e
tree44caf79cdedc06c551fd7adc69e099ad5f3c07fc
parent2f8a3eb4c8f2de68f9337978ab9b628087530c34

- Fixup for new prelink task API


3 files changed, 9 insertions(+), 9 deletions(-)

src/Compilation.zig+6-1
......@@ -5402,7 +5402,12 @@ fn buildMingwImportLib(comp: *Compilation, lib_name: []const u8, is_prelink: boo
54025402 };
54035403
54045404 if (is_prelink)
5405 comp.queuePrelinkTasks(&.{.{ .load_archive = crt_file_path }}) catch |err| comp.lockAndSetMiscFailure(
5405 comp.queuePrelinkTasks(&.{.{
5406 .load_archive = .{
5407 .path = crt_file_path,
5408 .must_link = false,
5409 },
5410 }}) catch |err| comp.lockAndSetMiscFailure(
54065411 .windows_import_lib,
54075412 "unable to queue prelink task for mingw import lib {f}: {t}",
54085413 .{ crt_file_path, err },
src/link.zig+1-1
......@@ -1568,7 +1568,7 @@ pub fn doPrelinkTask(comp: *Compilation, task: PrelinkTask) void {
15681568 }) catch return diags.setAllocFailure(),
15691569 );
15701570 if (std.mem.endsWith(u8, lib.name, "lib")) {
1571 base.openLoadArchive(path, null) catch |err| switch (err) {
1571 base.openLoadArchive(path, false) catch |err| switch (err) {
15721572 error.LinkFailure => return, // error reported via diags
15731573 else => |e| diags.addParseError(path, "failed to parse archive: {s}", .{@errorName(e)}),
15741574 };
src/link/Coff.zig+2-7
......@@ -6404,13 +6404,7 @@ fn flushSpecialSymbol(coff: *Coff, pending: SpecialSymbol) !SpecialSymbol {
64046404 .{ "wWinMainCRTStartup", "wWinMainCRTStartup" },
64056405 }
64066406 else
6407 &.{.{
6408 null,
6409 if (comp.config.link_libc and target.abi.isGnu())
6410 "DllMainCRTStartup"
6411 else
6412 "_DllMainCRTStartup",
6413 }};
6407 &.{.{ null, if (target.abi.isGnu()) "DllMainCRTStartup" else "_DllMainCRTStartup" }};
64146408
64156409 const entry_si = for (entries) |entry| {
64166410 if (entry[0]) |required_name|
......@@ -7081,6 +7075,7 @@ fn updateExportsInner(
70817075 Type.fromInterned(ip.typeOf(uav)).abiAlignment(zcu),
70827076 ))),
70837077 };
7078 while (try coff.idle(pt.tid)) {}
70847079
70857080 const machine = coff.targetLoad(&coff.headerPtr().machine);
70867081 const exported_ni = exported_si.node(coff);