From 825165c57e43b25ef57c3cf2cc345ec6aa40a0d3 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 5 Nov 2019 18:12:49 -0700 Subject: [PATCH] Fix regression from TUI disassembly style patch My previous patch to add styling to the TUI disassembly failed to correctly fix a bug that Simon had pointed out in review. This patch fixes the bug. gdb/ChangeLog 2019-11-05 Tom Tromey * tui/tui-disasm.c (struct tui_asm_line) : New member. (tui_disassemble): Set addr_size. (tui_disasm_window::set_contents): Use addr_size. Change-Id: Ic0152f3b82a2f79be28ae46d590096661f271580 --- gdb/ChangeLog | 6 ++++++ gdb/tui/tui-disasm.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5720c8e7fe1..e886480d62d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-11-05 Tom Tromey + + * tui/tui-disasm.c (struct tui_asm_line) : New member. + (tui_disassemble): Set addr_size. + (tui_disasm_window::set_contents): Use addr_size. + 2019-11-05 Tom Tromey * rust-lang.c (rust_language_defn): Update. diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c index 71783266391..8d5512efb2c 100644 --- a/gdb/tui/tui-disasm.c +++ b/gdb/tui/tui-disasm.c @@ -47,6 +47,7 @@ struct tui_asm_line { CORE_ADDR addr; std::string addr_string; + size_t addr_size; std::string insn; }; @@ -110,6 +111,7 @@ tui_disassemble (struct gdbarch *gdbarch, else new_size = asm_lines[pos + i].addr_string.size (); *addr_size = std::max (*addr_size, new_size); + asm_lines[pos + i].addr_size = new_size; } pc = pc + gdb_print_insn (gdbarch, pc, &gdb_dis_out, NULL); @@ -239,8 +241,7 @@ tui_disasm_window::set_contents (struct gdbarch *arch, std::string line = (asm_lines[i].addr_string - + n_spaces (insn_pos - - asm_lines[i].addr_string.size ()) + + n_spaces (insn_pos - asm_lines[i].addr_size) + asm_lines[i].insn); const char *ptr = line.c_str (); -- 2.30.2