aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
Diffstat (limited to 'src/link')
-rw-r--r--src/link/Elf.zig7
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);
}