authorgravatar for pr0h3ckr@gmail.comMomo <pr0h3ckr@gmail.com> 2026-10-14 20:47:00+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-14 21:08:37+02:00
log3f0f63cfba14a81020902941187a166c20bfbfb7
tree0e39ce4c989f4fa51e23c48e89ecff8aa520d32b
parentcc958207734b68df15cd6ced350281753e97806c
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

Coff: check for .dll and .lib case-insensitively

fixes https://codeberg.org/ziglang/zig/issues/37201 Reviewed-on: https://codeberg.org/ziglang/zig/pulls/37208 Reviewed-by: Ryan Liptak <squeek502@noreply.codeberg.org>

1 files changed, 2 insertions(+), 2 deletions(-)

src/link/Coff.zig+2-2
......@@ -5326,7 +5326,7 @@ fn loadArchive(coff: *Coff, path: std.Build.Cache.Path, fr: *Io.File.Reader) Loa
53265326 });
53275327
53285328 const ext = ".dll";
5329 if (!std.mem.endsWith(u8, lib_name, ext))
5329 if (!std.ascii.endsWithIgnoreCase(lib_name, ext))
53305330 return diags.failParse(
53315331 path,
53325332 "unexpected extension for import '{s} ('{s}'): '{s}'",
......@@ -5421,7 +5421,7 @@ pub fn prelink(coff: *Coff, prog_node: std.Progress.Node) link.Error!void {
54215421 };
54225422 const search_paths = all_paths[0..if (target.abi == .msvc or target.abi == .itanium) 3 else 1];
54235423 lib: for (coff.pending_default_libs.items) |lib| {
5424 if (!std.mem.eql(u8, std.fs.path.extension(lib.path), ".lib"))
5424 if (!std.ascii.endsWithIgnoreCase(std.fs.path.extension(lib.path), ".lib"))
54255425 return comp.link_diags.failParse(
54265426 lib.ioi.path(coff),
54275427 "/DEFAULTLIB library '{s}' had unexpected extension",