* disasm.c (gdb_print_insn): Return the number of branch delay
slot instructions too.
* disasm.h (gdb_print_insn): Update prototype.
* printcmd.c (branch_delay_insns): New variable to record the
number of delay slot instructions after disassembling a branch.
(print_formatted): Record the number of branch delay slot
instructions.
(do_examine): When disassembling, if the last instruction
disassembled has any branch delay slots, then bump the count so
that they get disassembled too.
* tui/tui-disasm.c (tui_disassemble): Update the call to
gdb_print_insn().
* NEWS: Document the new behaviour.

gdb/doc/:
* gdb.texinfo (Examining Memory): Document the new behaviour.

gdb/gdbtk/:
* generic/gdbtk-cmds.c (gdbtk_load_asm): Update the call to
gdb_print_insn().
This commit is contained in:
Maciej W. Rozycki
2007-06-21 15:18:51 +00:00
parent ade2871640
commit a464298641
8 changed files with 65 additions and 13 deletions

View File

@ -30,9 +30,12 @@ extern void gdb_disassembly (struct ui_out *uiout,
int mixed_source_and_assembly,
int how_many, CORE_ADDR low, CORE_ADDR high);
/* Print the instruction at address MEMADDR in debugged memory, on
STREAM. Returns length of the instruction, in bytes. */
/* Print the instruction at address MEMADDR in debugged memory,
on STREAM. Returns the length of the instruction, in bytes,
and, if requested, the number of branch delay slot instructions. */
extern int gdb_print_insn (CORE_ADDR memaddr, struct ui_file *stream);
extern int gdb_print_insn (CORE_ADDR memaddr,
struct ui_file *stream,
int *branch_delay_insns);
#endif