From d420d46a7e27d631d99aece5e9d5dd6b64f1e159 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 19 Mar 2024 12:07:19 +0100 Subject: [PATCH] coff: parse and print linker directives --- src/Object.zig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Object.zig b/src/Object.zig index c47c9d6..3a02558 100644 --- a/src/Object.zig +++ b/src/Object.zig @@ -408,8 +408,17 @@ fn printSectionHeader(self: *Object, writer: anytype, sect_id: u16, sect_hdr: *a } fn printDirectives(self: *Object, writer: anytype) !void { - _ = self; - _ = writer; + const sect = self.getSectionByName(".drectve") orelse return; + const data = self.data[sect.pointer_to_raw_data..][0..sect.size_of_raw_data]; + try writer.writeAll( + \\ Linker Directives + \\ _________________ + ); + var it = std.mem.split(u8, data, " "); + while (it.next()) |dir| { + try writer.print(" {s}\n", .{dir}); + } + try writer.writeByte('\n'); } fn printRelocations(self: *Object, writer: anytype, sect_id: u16, sect_hdr: *align(1) const coff.SectionHeader) !void {