aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/Atom.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-08-16 19:32:05 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-08-28 18:30:57 -0700
commitcc931660eb3e5b7251944c727808aa36e72c1e52 (patch)
treec6564aff1d2e77163cfce1cd8e599a187ce9274a /src/link/MachO/Atom.zig
parent2dc6ddd7e8cfb83f5ffd57b8b40f33dde9de892d (diff)
downloadzig-cc931660eb3e5b7251944c727808aa36e72c1e52.tar.gz
zig-cc931660eb3e5b7251944c727808aa36e72c1e52.zip
link.MachO: update to not use GenericWriter
Diffstat (limited to 'src/link/MachO/Atom.zig')
-rw-r--r--src/link/MachO/Atom.zig11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/link/MachO/Atom.zig b/src/link/MachO/Atom.zig
index 93b3bdde37..904bb2d222 100644
--- a/src/link/MachO/Atom.zig
+++ b/src/link/MachO/Atom.zig
@@ -581,7 +581,7 @@ pub fn resolveRelocs(self: Atom, macho_file: *MachO, buffer: []u8) !void {
relocs_log.debug("{x}: {s}", .{ self.value, name });
var has_error = false;
- var stream = std.io.fixedBufferStream(buffer);
+ var stream: Writer = .fixed(buffer);
var i: usize = 0;
while (i < relocs.len) : (i += 1) {
const rel = relocs[i];
@@ -592,8 +592,8 @@ pub fn resolveRelocs(self: Atom, macho_file: *MachO, buffer: []u8) !void {
if (rel.getTargetSymbol(self, macho_file).getFile(macho_file) == null) continue;
}
- try stream.seekTo(rel_offset);
- self.resolveRelocInner(rel, subtractor, buffer, macho_file, stream.writer()) catch |err| {
+ stream.end = rel_offset;
+ self.resolveRelocInner(rel, subtractor, buffer, macho_file, &stream) catch |err| {
switch (err) {
error.RelaxFail => {
const target = switch (rel.tag) {
@@ -630,6 +630,7 @@ const ResolveError = error{
UnexpectedRemainder,
Overflow,
OutOfMemory,
+ WriteFailed,
};
fn resolveRelocInner(
@@ -638,7 +639,7 @@ fn resolveRelocInner(
subtractor: ?Relocation,
code: []u8,
macho_file: *MachO,
- writer: anytype,
+ writer: *Writer,
) ResolveError!void {
const t = &macho_file.base.comp.root_mod.resolved_target.result;
const cpu_arch = t.cpu.arch;
@@ -1147,7 +1148,7 @@ const math = std.math;
const mem = std.mem;
const log = std.log.scoped(.link);
const relocs_log = std.log.scoped(.link_relocs);
-const Writer = std.io.Writer;
+const Writer = std.Io.Writer;
const Allocator = mem.Allocator;
const AtomicBool = std.atomic.Value(bool);