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 20:47:00+02:00
log58ab2093d423a59c5e02ebd38cc917d351395342
treecbcaa04b0ae666b9113ac9acc86c23fdd2aed14d
parentea7667f5a5b44d548c398b2f40ffa239b1a1fb6d

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...@@ -5326,7 +5326,7 @@ fn loadArchive(coff: *Coff, path: std.Build.Cache.Path, fr: *Io.File.Reader) Loa
5326 });5326 });
53275327
5328 const ext = ".dll";5328 const ext = ".dll";
5329 if (!std.mem.endsWith(u8, lib_name, ext))5329 if (!std.ascii.endsWithIgnoreCase(lib_name, ext))
5330 return diags.failParse(5330 return diags.failParse(
5331 path,5331 path,
5332 "unexpected extension for import '{s} ('{s}'): '{s}'",5332 "unexpected extension for import '{s} ('{s}'): '{s}'",
...@@ -5421,7 +5421,7 @@ pub fn prelink(coff: *Coff, prog_node: std.Progress.Node) link.Error!void {...@@ -5421,7 +5421,7 @@ pub fn prelink(coff: *Coff, prog_node: std.Progress.Node) link.Error!void {
5421 };5421 };
5422 const search_paths = all_paths[0..if (target.abi == .msvc or target.abi == .itanium) 3 else 1];5422 const search_paths = all_paths[0..if (target.abi == .msvc or target.abi == .itanium) 3 else 1];
5423 lib: for (coff.pending_default_libs.items) |lib| {5423 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"))
5425 return comp.link_diags.failParse(5425 return comp.link_diags.failParse(
5426 lib.ioi.path(coff),5426 lib.ioi.path(coff),
5427 "/DEFAULTLIB library '{s}' had unexpected extension",5427 "/DEFAULTLIB library '{s}' had unexpected extension",