diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-08-11 17:09:13 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2021-08-11 19:38:00 +0200 |
| commit | 5d548cc65125cc33ebf4840fb73a97030b1d0505 (patch) | |
| tree | 0b00c0add254a980d2b7ed6676769ac0f20ef71a /src/link/MachO/Object.zig | |
| parent | 16bb5c05f15e1ec4cc1616c5c33e56f67ea0763e (diff) | |
| download | zig-5d548cc65125cc33ebf4840fb73a97030b1d0505.tar.gz zig-5d548cc65125cc33ebf4840fb73a97030b1d0505.zip | |
macho: move parsing logic for Object, Archive and Dylib into MachO
This way, the functionality is better segregated, and we finally do
not unnecessarily reparse dynamic libraries that were already visited
and parsed.
Diffstat (limited to 'src/link/MachO/Object.zig')
| -rw-r--r-- | src/link/MachO/Object.zig | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig index c6aa2fb631..06c76b259d 100644 --- a/src/link/MachO/Object.zig +++ b/src/link/MachO/Object.zig @@ -153,32 +153,6 @@ pub fn deinit(self: *Object, allocator: *Allocator) void { } } -pub fn createAndParseFromPath(allocator: *Allocator, target: std.Target, path: []const u8) !?Object { - const file = fs.cwd().openFile(path, .{}) catch |err| switch (err) { - error.FileNotFound => return null, - else => |e| return e, - }; - errdefer file.close(); - - const name = try allocator.dupe(u8, path); - errdefer allocator.free(name); - - var object = Object{ - .name = name, - .file = file, - }; - - object.parse(allocator, target) catch |err| switch (err) { - error.EndOfStream, error.NotObject => { - object.deinit(allocator); - return null; - }, - else => |e| return e, - }; - - return object; -} - pub fn parse(self: *Object, allocator: *Allocator, target: std.Target) !void { const reader = self.file.reader(); if (self.file_offset) |offset| { |
