diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-04-09 13:25:40 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2023-04-13 11:47:50 +0200 |
| commit | 5154ece8b9fd64f276fb6cb6f88fdfda1fc0f935 (patch) | |
| tree | 28ef7c84fb840760fdc490ca7e0593b04dfab6df /src/link/Dwarf.zig | |
| parent | e72c41a32af41c15f4f73b46c902c01ed838462f (diff) | |
| download | zig-5154ece8b9fd64f276fb6cb6f88fdfda1fc0f935.tar.gz zig-5154ece8b9fd64f276fb6cb6f88fdfda1fc0f935.zip | |
macho: fix incorrect DWARF subprogram generation
Diffstat (limited to 'src/link/Dwarf.zig')
| -rw-r--r-- | src/link/Dwarf.zig | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 3fb6de7b73..0f2dfbda0e 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -150,7 +150,7 @@ pub const DeclState = struct { .type = ty, .offset = undefined, }); - log.debug("%{d}: {}", .{ sym_index, ty.fmtDebug() }); + log.debug("%{d}: {}", .{ sym_index, ty.fmt(self.mod) }); try self.abbrev_resolver.putNoClobberContext(self.gpa, ty, sym_index, .{ .mod = self.mod, }); @@ -570,7 +570,7 @@ pub const DeclState = struct { try dbg_info_buffer.append(0); }, else => { - log.debug("TODO implement .debug_info for type '{}'", .{ty.fmtDebug()}); + log.debug("TODO implement .debug_info for type '{}'", .{ty.fmt(self.mod)}); try dbg_info_buffer.append(@enumToInt(AbbrevKind.pad1)); }, } @@ -1055,6 +1055,10 @@ pub fn commitDeclState( }, } { + log.debug("relocating subprogram high PC value: {x} => {x}", .{ + self.getRelocDbgInfoSubprogramHighPC(), + sym_size, + }); const ptr = dbg_info_buffer.items[self.getRelocDbgInfoSubprogramHighPC()..][0..4]; mem.writeInt(u32, ptr, @intCast(u32, sym_size), target_endian); } @@ -1263,7 +1267,12 @@ pub fn commitDeclState( } else { const atom = self.getAtom(.di_atom, symbol.atom_index); const value = atom.off + symbol.offset + reloc.addend; - log.debug("{x}: [() => {x}] (%{d}, '{}')", .{ reloc.offset, value, target, ty.fmtDebug() }); + log.debug("{x}: [() => {x}] (%{d}, '{}')", .{ + reloc.offset, + value, + target, + ty.fmt(module), + }); mem.writeInt( u32, dbg_info_buffer.items[reloc.offset..][0..@sizeOf(u32)], |
