aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-11-05 18:12:49 -0700
committerTom Tromey <tom@tromey.com>2019-11-05 18:39:23 -0700
commit825165c57e43b25ef57c3cf2cc345ec6aa40a0d3 (patch)
treef4e382291555614bc2c4d5924332c3a3a8fc5943
parent8e71a6e725ad881367f410f7d6f9a3106f3a2232 (diff)
downloadbinutils-825165c57e43b25ef57c3cf2cc345ec6aa40a0d3.zip
binutils-825165c57e43b25ef57c3cf2cc345ec6aa40a0d3.tar.gz
binutils-825165c57e43b25ef57c3cf2cc345ec6aa40a0d3.tar.bz2
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 <tom@tromey.com> * tui/tui-disasm.c (struct tui_asm_line) <addr_size>: New member. (tui_disassemble): Set addr_size. (tui_disasm_window::set_contents): Use addr_size. Change-Id: Ic0152f3b82a2f79be28ae46d590096661f271580
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/tui/tui-disasm.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5720c8e..e886480 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2019-11-05 Tom Tromey <tom@tromey.com>
+ * tui/tui-disasm.c (struct tui_asm_line) <addr_size>: New member.
+ (tui_disassemble): Set addr_size.
+ (tui_disasm_window::set_contents): Use addr_size.
+
+2019-11-05 Tom Tromey <tom@tromey.com>
+
* rust-lang.c (rust_language_defn): Update.
* python/py-value.c (valpy_string): Call c_get_string.
* p-lang.c (pascal_language_defn): Update.
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index 7178326..8d5512e 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 ();