Use ui_out_emit_tuple in disasm.c
This changes one spot in disasm.c to use ui_out_emit_tuple. This patch required a large reindentation, so I've separated it out. ChangeLog 2017-09-09 Tom Tromey <tom@tromey.com> * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use ui_out_emit_tuple.
This commit is contained in:
parent
76f9c9cfd4
commit
393702cd59
@ -1,3 +1,8 @@
|
||||
2017-09-09 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
|
||||
ui_out_emit_tuple.
|
||||
|
||||
2017-09-09 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* target.c (flash_erase_command): Use ui_out_emit_tuple.
|
||||
|
146
gdb/disasm.c
146
gdb/disasm.c
@ -198,95 +198,95 @@ gdb_pretty_print_disassembler::pretty_print_insn (struct ui_out *uiout,
|
||||
int offset;
|
||||
int line;
|
||||
int size;
|
||||
struct cleanup *ui_out_chain;
|
||||
char *filename = NULL;
|
||||
char *name = NULL;
|
||||
CORE_ADDR pc;
|
||||
struct gdbarch *gdbarch = arch ();
|
||||
|
||||
ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
|
||||
pc = insn->addr;
|
||||
{
|
||||
ui_out_emit_tuple tuple_emitter (uiout, NULL);
|
||||
pc = insn->addr;
|
||||
|
||||
if (insn->number != 0)
|
||||
{
|
||||
uiout->field_fmt ("insn-number", "%u", insn->number);
|
||||
uiout->text ("\t");
|
||||
}
|
||||
if (insn->number != 0)
|
||||
{
|
||||
uiout->field_fmt ("insn-number", "%u", insn->number);
|
||||
uiout->text ("\t");
|
||||
}
|
||||
|
||||
if ((flags & DISASSEMBLY_SPECULATIVE) != 0)
|
||||
{
|
||||
if (insn->is_speculative)
|
||||
{
|
||||
uiout->field_string ("is-speculative", "?");
|
||||
if ((flags & DISASSEMBLY_SPECULATIVE) != 0)
|
||||
{
|
||||
if (insn->is_speculative)
|
||||
{
|
||||
uiout->field_string ("is-speculative", "?");
|
||||
|
||||
/* The speculative execution indication overwrites the first
|
||||
character of the PC prefix.
|
||||
We assume a PC prefix length of 3 characters. */
|
||||
if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc) + 1);
|
||||
else
|
||||
uiout->text (" ");
|
||||
}
|
||||
else if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc));
|
||||
else
|
||||
uiout->text (" ");
|
||||
}
|
||||
else if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc));
|
||||
uiout->field_core_addr ("address", gdbarch, pc);
|
||||
/* The speculative execution indication overwrites the first
|
||||
character of the PC prefix.
|
||||
We assume a PC prefix length of 3 characters. */
|
||||
if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc) + 1);
|
||||
else
|
||||
uiout->text (" ");
|
||||
}
|
||||
else if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc));
|
||||
else
|
||||
uiout->text (" ");
|
||||
}
|
||||
else if ((flags & DISASSEMBLY_OMIT_PC) == 0)
|
||||
uiout->text (pc_prefix (pc));
|
||||
uiout->field_core_addr ("address", gdbarch, pc);
|
||||
|
||||
if (!build_address_symbolic (gdbarch, pc, 0, &name, &offset, &filename,
|
||||
&line, &unmapped))
|
||||
{
|
||||
/* We don't care now about line, filename and unmapped. But we might in
|
||||
the future. */
|
||||
uiout->text (" <");
|
||||
if ((flags & DISASSEMBLY_OMIT_FNAME) == 0)
|
||||
uiout->field_string ("func-name", name);
|
||||
uiout->text ("+");
|
||||
uiout->field_int ("offset", offset);
|
||||
uiout->text (">:\t");
|
||||
}
|
||||
else
|
||||
uiout->text (":\t");
|
||||
if (!build_address_symbolic (gdbarch, pc, 0, &name, &offset, &filename,
|
||||
&line, &unmapped))
|
||||
{
|
||||
/* We don't care now about line, filename and unmapped. But we might in
|
||||
the future. */
|
||||
uiout->text (" <");
|
||||
if ((flags & DISASSEMBLY_OMIT_FNAME) == 0)
|
||||
uiout->field_string ("func-name", name);
|
||||
uiout->text ("+");
|
||||
uiout->field_int ("offset", offset);
|
||||
uiout->text (">:\t");
|
||||
}
|
||||
else
|
||||
uiout->text (":\t");
|
||||
|
||||
if (filename != NULL)
|
||||
xfree (filename);
|
||||
if (name != NULL)
|
||||
xfree (name);
|
||||
if (filename != NULL)
|
||||
xfree (filename);
|
||||
if (name != NULL)
|
||||
xfree (name);
|
||||
|
||||
m_insn_stb.clear ();
|
||||
m_insn_stb.clear ();
|
||||
|
||||
if (flags & DISASSEMBLY_RAW_INSN)
|
||||
{
|
||||
CORE_ADDR end_pc;
|
||||
bfd_byte data;
|
||||
int err;
|
||||
const char *spacer = "";
|
||||
if (flags & DISASSEMBLY_RAW_INSN)
|
||||
{
|
||||
CORE_ADDR end_pc;
|
||||
bfd_byte data;
|
||||
int err;
|
||||
const char *spacer = "";
|
||||
|
||||
/* Build the opcodes using a temporary stream so we can
|
||||
write them out in a single go for the MI. */
|
||||
m_opcode_stb.clear ();
|
||||
/* Build the opcodes using a temporary stream so we can
|
||||
write them out in a single go for the MI. */
|
||||
m_opcode_stb.clear ();
|
||||
|
||||
size = m_di.print_insn (pc);
|
||||
end_pc = pc + size;
|
||||
|
||||
for (;pc < end_pc; ++pc)
|
||||
{
|
||||
read_code (pc, &data, 1);
|
||||
m_opcode_stb.printf ("%s%02x", spacer, (unsigned) data);
|
||||
spacer = " ";
|
||||
}
|
||||
|
||||
uiout->field_stream ("opcodes", m_opcode_stb);
|
||||
uiout->text ("\t");
|
||||
}
|
||||
else
|
||||
size = m_di.print_insn (pc);
|
||||
end_pc = pc + size;
|
||||
|
||||
for (;pc < end_pc; ++pc)
|
||||
{
|
||||
read_code (pc, &data, 1);
|
||||
m_opcode_stb.printf ("%s%02x", spacer, (unsigned) data);
|
||||
spacer = " ";
|
||||
}
|
||||
|
||||
uiout->field_stream ("opcodes", m_opcode_stb);
|
||||
uiout->text ("\t");
|
||||
}
|
||||
else
|
||||
size = m_di.print_insn (pc);
|
||||
|
||||
uiout->field_stream ("inst", m_insn_stb);
|
||||
do_cleanups (ui_out_chain);
|
||||
uiout->field_stream ("inst", m_insn_stb);
|
||||
}
|
||||
uiout->text ("\n");
|
||||
|
||||
return size;
|
||||
|
Loading…
x
Reference in New Issue
Block a user