diff options
Diffstat (limited to 'src/libs/netbsd.zig')
| -rw-r--r-- | src/libs/netbsd.zig | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/src/libs/netbsd.zig b/src/libs/netbsd.zig index 04aa4ccfeb..f758f6de7e 100644 --- a/src/libs/netbsd.zig +++ b/src/libs/netbsd.zig @@ -460,18 +460,15 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye for (libs, 0..) |lib, lib_i| { stubs_asm.shrinkRetainingCapacity(0); - const stubs_writer = stubs_asm.writer(); - - try stubs_writer.writeAll(".text\n"); + try stubs_asm.appendSlice(".text\n"); var sym_i: usize = 0; - var sym_name_buf = std.array_list.Managed(u8).init(arena); + var sym_name_buf: std.Io.Writer.Allocating = .init(arena); var opt_symbol_name: ?[]const u8 = null; - var inc_fbs = std.io.fixedBufferStream(metadata.inclusions); - var inc_reader = inc_fbs.reader(); + var inc_reader: std.Io.Reader = .fixed(metadata.inclusions); - const fn_inclusions_len = try inc_reader.readInt(u16, .little); + const fn_inclusions_len = try inc_reader.takeInt(u16, .little); var chosen_ver_index: usize = 255; var chosen_is_weak: bool = undefined; @@ -479,17 +476,17 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye while (sym_i < fn_inclusions_len) : (sym_i += 1) { const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); - try inc_reader.streamUntilDelimiter(sym_name_buf.writer(), 0, null); + _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); - opt_symbol_name = sym_name_buf.items; + opt_symbol_name = sym_name_buf.written(); chosen_ver_index = 255; - break :n sym_name_buf.items; + break :n sym_name_buf.written(); }; { - const targets = try std.leb.readUleb128(u64, inc_reader); - var lib_index = try inc_reader.readByte(); + const targets = try inc_reader.takeLeb128(u64); + var lib_index = try inc_reader.takeByte(); const is_weak = (lib_index & (1 << 6)) != 0; const is_terminal = (lib_index & (1 << 7)) != 0; @@ -502,7 +499,7 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye ((targets & (@as(u64, 1) << @as(u6, @intCast(target_targ_index)))) != 0); while (true) { - const byte = try inc_reader.readByte(); + const byte = try inc_reader.takeByte(); const last = (byte & 0b1000_0000) != 0; const ver_i = @as(u7, @truncate(byte)); if (ok_lib_and_target and ver_i <= target_ver_index and @@ -525,7 +522,7 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye // .globl _Exit // .type _Exit, %function // _Exit: .long 0 - try stubs_writer.print( + try stubs_asm.print( \\.balign {d} \\.{s} {s} \\.type {s}, %function @@ -542,9 +539,9 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye } } - try stubs_writer.writeAll(".data\n"); + try stubs_asm.appendSlice(".data\n"); - const obj_inclusions_len = try inc_reader.readInt(u16, .little); + const obj_inclusions_len = try inc_reader.takeInt(u16, .little); sym_i = 0; opt_symbol_name = null; @@ -554,18 +551,18 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye while (sym_i < obj_inclusions_len) : (sym_i += 1) { const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); - try inc_reader.streamUntilDelimiter(sym_name_buf.writer(), 0, null); + _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); - opt_symbol_name = sym_name_buf.items; + opt_symbol_name = sym_name_buf.written(); chosen_ver_index = 255; - break :n sym_name_buf.items; + break :n sym_name_buf.written(); }; { - const targets = try std.leb.readUleb128(u64, inc_reader); - const size = try std.leb.readUleb128(u16, inc_reader); - var lib_index = try inc_reader.readByte(); + const targets = try inc_reader.takeLeb128(u64); + const size = try inc_reader.takeLeb128(u16); + var lib_index = try inc_reader.takeByte(); const is_weak = (lib_index & (1 << 6)) != 0; const is_terminal = (lib_index & (1 << 7)) != 0; @@ -578,7 +575,7 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye ((targets & (@as(u64, 1) << @as(u6, @intCast(target_targ_index)))) != 0); while (true) { - const byte = try inc_reader.readByte(); + const byte = try inc_reader.takeByte(); const last = (byte & 0b1000_0000) != 0; const ver_i = @as(u7, @truncate(byte)); if (ok_lib_and_target and ver_i <= target_ver_index and @@ -603,7 +600,7 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye // .type malloc_conf, %object // .size malloc_conf, 4 // malloc_conf: .fill 4, 1, 0 - try stubs_writer.print( + try stubs_asm.print( \\.balign {d} \\.{s} {s} \\.type {s}, %object |
