diff options
Diffstat (limited to 'src/link')
| -rw-r--r-- | src/link/Elf.zig | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 877eb2701a..2d16cd03e9 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1415,9 +1415,12 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node } for (system_libs.items) |lib| { - const in_file = try std.fs.cwd().openFile(lib.path, .{}); - defer in_file.close(); var parse_ctx: ParseErrorCtx = .{ .detected_cpu_arch = undefined }; + const in_file = std.fs.cwd().openFile(lib.path, .{}) catch |err| { + try self.handleAndReportParseError(lib.path, err, &parse_ctx); + continue; + }; + defer in_file.close(); self.parseLibrary(in_file, lib, false, &parse_ctx) catch |err| try self.handleAndReportParseError(lib.path, err, &parse_ctx); } |
