Commit 17ec2cea64

Jakub Konka <kubkon@jakubkonka.com>
2023-03-28 21:52:44
macho: remove error_union return from resolveRelocations()
1 parent cde722a
Changed files (3)
src/link/MachO/Atom.zig
@@ -183,11 +183,11 @@ pub fn addLazyBinding(macho_file: *MachO, atom_index: Index, binding: Binding) !
     try gop.value_ptr.append(gpa, binding);
 }
 
-pub fn resolveRelocations(macho_file: *MachO, atom_index: Index, relocs: []Relocation, code: []u8) !void {
+pub fn resolveRelocations(macho_file: *MachO, atom_index: Index, relocs: []Relocation, code: []u8) void {
     log.debug("relocating '{s}'", .{macho_file.getAtom(atom_index).getName(macho_file)});
     for (relocs) |*reloc| {
         if (!reloc.dirty) continue;
-        try reloc.resolve(macho_file, atom_index, code);
+        reloc.resolve(macho_file, atom_index, code);
         reloc.dirty = false;
     }
 }
src/link/MachO/Relocation.zig
@@ -50,7 +50,7 @@ pub fn getTargetAtomIndex(self: Relocation, macho_file: *MachO) ?Atom.Index {
     return macho_file.getAtomIndexForSymbol(self.target);
 }
 
-pub fn resolve(self: Relocation, macho_file: *MachO, atom_index: Atom.Index, code: []u8) !void {
+pub fn resolve(self: Relocation, macho_file: *MachO, atom_index: Atom.Index, code: []u8) void {
     const arch = macho_file.base.options.target.cpu.arch;
     const atom = macho_file.getAtom(atom_index);
     const source_sym = atom.getSymbol(macho_file);
@@ -68,18 +68,13 @@ pub fn resolve(self: Relocation, macho_file: *MachO, atom_index: Atom.Index, cod
     });
 
     switch (arch) {
-        .aarch64 => return self.resolveAarch64(source_addr, target_addr, code),
-        .x86_64 => return self.resolveX8664(source_addr, target_addr, code),
+        .aarch64 => self.resolveAarch64(source_addr, target_addr, code),
+        .x86_64 => self.resolveX8664(source_addr, target_addr, code),
         else => unreachable,
     }
 }
 
-fn resolveAarch64(
-    self: Relocation,
-    source_addr: u64,
-    target_addr: i64,
-    code: []u8,
-) !void {
+fn resolveAarch64(self: Relocation, source_addr: u64, target_addr: i64, code: []u8) void {
     const rel_type = @intToEnum(macho.reloc_type_arm64, self.type);
     if (rel_type == .ARM64_RELOC_UNSIGNED) {
         return switch (self.length) {
@@ -212,12 +207,7 @@ fn resolveAarch64(
     }
 }
 
-fn resolveX8664(
-    self: Relocation,
-    source_addr: u64,
-    target_addr: i64,
-    code: []u8,
-) !void {
+fn resolveX8664(self: Relocation, source_addr: u64, target_addr: i64, code: []u8) void {
     const rel_type = @intToEnum(macho.reloc_type_x86_64, self.type);
     switch (rel_type) {
         .X86_64_RELOC_BRANCH,
src/link/MachO.zig
@@ -1091,7 +1091,7 @@ pub fn writeAtom(self: *MachO, atom_index: Atom.Index, code: []u8) !void {
     log.debug("writing atom for symbol {s} at file offset 0x{x}", .{ atom.getName(self), file_offset });
 
     if (self.relocs.get(atom_index)) |relocs| {
-        try Atom.resolveRelocations(self, atom_index, relocs.items, code);
+        Atom.resolveRelocations(self, atom_index, relocs.items, code);
     }
 
     if (is_hot_update_compatible) {