aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-10-19 20:59:26 -0700
committerJakub Konka <kubkon@jakubkonka.com>2023-10-21 22:25:39 +0200
commit3f4df8529924618ab9febb9ccaa3fa854792ec56 (patch)
tree6e0dd2d030c2c0bc0ef833cbd75b02cbebbdc5cf /src/link
parentcc56577edfadd7685de7fb14c013c5e3a69c28ce (diff)
downloadzig-3f4df8529924618ab9febb9ccaa3fa854792ec56.tar.gz
zig-3f4df8529924618ab9febb9ccaa3fa854792ec56.zip
link.Elf: report file not found error
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);
}