aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/Object.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2021-05-22 13:08:00 +0200
committerJakub Konka <kubkon@jakubkonka.com>2021-05-22 16:12:45 +0200
commit2b0d322ea003907dc2111864cea259e5e0043328 (patch)
tree8707c105b098f8e1aa504cc3adcaeaaf4cfdf244 /src/link/MachO/Object.zig
parentf4101c1153980b887e9aa8850ac0a9dd88192140 (diff)
downloadzig-2b0d322ea003907dc2111864cea259e5e0043328.tar.gz
zig-2b0d322ea003907dc2111864cea259e5e0043328.zip
zld: permit system static libs
This commits permits passing in static archives using the system lib flag `-la`. With this commit, `zig ld` will now look firstly for a dynamic library (which always takes precedence), and will fall back on `liba.a` if the dylib is not found. The static archive is searched for in the system lib search dirs like the dylibs.
Diffstat (limited to 'src/link/MachO/Object.zig')
-rw-r--r--src/link/MachO/Object.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig
index 4d2ade7aad..4160c2d75c 100644
--- a/src/link/MachO/Object.zig
+++ b/src/link/MachO/Object.zig
@@ -485,3 +485,9 @@ pub fn parseDataInCode(self: *Object) !void {
try self.data_in_code_entries.append(self.allocator, dice);
}
}
+
+pub fn isObject(file: fs.File) !bool {
+ const header = try file.reader().readStruct(macho.mach_header_64);
+ try file.seekTo(0);
+ return header.filetype == macho.MH_OBJECT;
+}