diff options
Diffstat (limited to 'src/arch')
| -rw-r--r-- | src/arch/arm/Emit.zig | 4 | ||||
| -rw-r--r-- | src/arch/riscv64/CodeGen.zig | 2 | ||||
| -rw-r--r-- | src/arch/x86_64/Emit.zig | 18 |
3 files changed, 5 insertions, 19 deletions
diff --git a/src/arch/arm/Emit.zig b/src/arch/arm/Emit.zig index 7ffd6de2dd..963879519f 100644 --- a/src/arch/arm/Emit.zig +++ b/src/arch/arm/Emit.zig @@ -409,7 +409,7 @@ fn genArgDbgInfo(self: *Emit, inst: Air.Inst.Index, arg_index: u32) !void { switch (self.debug_output) { .dwarf => |dbg_out| { try dbg_out.dbg_info.ensureUnusedCapacity(3); - dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); + dbg_out.dbg_info.appendAssumeCapacity(link.File.Dwarf.abbrev_parameter); dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT.location, DW.FORM.exprloc 1, // ULEB128 dwarf expression length reg.dwarfLocOp(), @@ -440,7 +440,7 @@ fn genArgDbgInfo(self: *Emit, inst: Air.Inst.Index, arg_index: u32) !void { else => unreachable, }; - try dbg_out.dbg_info.append(link.File.Elf.abbrev_parameter); + try dbg_out.dbg_info.append(link.File.Dwarf.abbrev_parameter); // Get length of the LEB128 stack offset var counting_writer = std.io.countingWriter(std.io.null_writer); diff --git a/src/arch/riscv64/CodeGen.zig b/src/arch/riscv64/CodeGen.zig index c14e54e9e4..8819db6d64 100644 --- a/src/arch/riscv64/CodeGen.zig +++ b/src/arch/riscv64/CodeGen.zig @@ -1384,7 +1384,7 @@ fn genArgDbgInfo(self: *Self, inst: Air.Inst.Index, mcv: MCValue, arg_index: u32 switch (self.debug_output) { .dwarf => |dbg_out| { try dbg_out.dbg_info.ensureUnusedCapacity(3); - dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); + dbg_out.dbg_info.appendAssumeCapacity(link.File.Dwarf.abbrev_parameter); dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT.location, DW.FORM.exprloc 1, // ULEB128 dwarf expression length reg.dwarfLocOp(), diff --git a/src/arch/x86_64/Emit.zig b/src/arch/x86_64/Emit.zig index 86cdf8dcdb..3409894fc4 100644 --- a/src/arch/x86_64/Emit.zig +++ b/src/arch/x86_64/Emit.zig @@ -1019,14 +1019,7 @@ fn genArgDbgInfo(emit: *Emit, inst: Air.Inst.Index, mcv: MCValue, max_stack: u32 switch (emit.debug_output) { .dwarf => |dbg_out| { try dbg_out.dbg_info.ensureUnusedCapacity(3); - - // TODO this will go away once we pull DWARF into a cross-platform module. - if (emit.bin_file.cast(link.File.MachO)) |_| { - dbg_out.dbg_info.appendAssumeCapacity(link.File.MachO.DebugSymbols.abbrev_parameter); - } else if (emit.bin_file.cast(link.File.Elf)) |_| { - dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); - } else return emit.fail("TODO DWARF in non-MachO and non-ELF backend", .{}); - + dbg_out.dbg_info.appendAssumeCapacity(link.File.Dwarf.abbrev_parameter); dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT.location, DW.FORM.exprloc 1, // ULEB128 dwarf expression length reg.dwarfLocOp(), @@ -1049,14 +1042,7 @@ fn genArgDbgInfo(emit: *Emit, inst: Air.Inst.Index, mcv: MCValue, max_stack: u32 // for example when -fomit-frame-pointer is set. const disp = @intCast(i32, max_stack) - off + 16; try dbg_out.dbg_info.ensureUnusedCapacity(8); - - // TODO this will go away once we pull DWARF into a cross-platform module. - if (emit.bin_file.cast(link.File.MachO)) |_| { - dbg_out.dbg_info.appendAssumeCapacity(link.File.MachO.DebugSymbols.abbrev_parameter); - } else if (emit.bin_file.cast(link.File.Elf)) |_| { - dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); - } else return emit.fail("TODO DWARF in non-MachO and non-ELF backend", .{}); - + dbg_out.dbg_info.appendAssumeCapacity(link.File.Dwarf.abbrev_parameter); const fixup = dbg_out.dbg_info.items.len; dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT.location, DW.FORM.exprloc 1, // we will backpatch it after we encode the displacement in LEB128 |
