aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/Atom.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-01-18 17:42:22 +0100
committerJakub Konka <kubkon@jakubkonka.com>2024-01-24 12:34:41 +0100
commit82e92fe5f605a0ef8fa53e8434458bf18deadb5f (patch)
tree31c606cffbf33f542c4365a572fe4675fcabb75e /src/link/MachO/Atom.zig
parentee463efdf2e662fb4970aa6e9ba43d165e0cdfc7 (diff)
downloadzig-82e92fe5f605a0ef8fa53e8434458bf18deadb5f.tar.gz
zig-82e92fe5f605a0ef8fa53e8434458bf18deadb5f.zip
macho: fill the rest of ZigObject
Diffstat (limited to 'src/link/MachO/Atom.zig')
-rw-r--r--src/link/MachO/Atom.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/link/MachO/Atom.zig b/src/link/MachO/Atom.zig
index 5da72886be..25cbe6ca64 100644
--- a/src/link/MachO/Atom.zig
+++ b/src/link/MachO/Atom.zig
@@ -383,6 +383,15 @@ pub fn free(self: *Atom, macho_file: *MachO) void {
self.* = .{};
}
+pub fn addReloc(self: *Atom, macho_file: *MachO, reloc: Relocation) !void {
+ const gpa = macho_file.base.comp.gpa;
+ const file = self.getFile(macho_file);
+ assert(file == .zig_object);
+ const rels = &file.zig_object.relocs.items[self.relocs.pos];
+ try rels.append(gpa, reloc);
+ self.relocs.len += 1;
+}
+
pub fn freeRelocs(self: *Atom, macho_file: *MachO) void {
self.getFile(macho_file).zig_object.freeAtomRelocs(self.*);
self.relocs.len = 0;