struct Section [src]

Fields

data: []const u8
virtual_address: ?usize = null
owned: bool

Members

Source

pub const Section = struct { data: []const u8, // Module-relative virtual address. // Only set if the section data was loaded from disk. virtual_address: ?usize = null, // If `data` is owned by this Dwarf. owned: bool, pub const Id = enum { debug_info, debug_abbrev, debug_str, debug_str_offsets, debug_line, debug_line_str, debug_ranges, debug_loclists, debug_rnglists, debug_addr, debug_names, debug_frame, eh_frame, eh_frame_hdr, }; // For sections that are not memory mapped by the loader, this is an offset // from `data.ptr` to where the section would have been mapped. Otherwise, // `data` is directly backed by the section and the offset is zero. pub fn virtualOffset(self: Section, base_address: usize) i64 { return if (self.virtual_address) |va| @as(i64, @intCast(base_address + va)) - @as(i64, @intCast(@intFromPtr(self.data.ptr))) else 0; } }