Make "set disassemble-next-line on" can work with DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME

When GDB debug DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME, even if
"set disassemble-next-line on", it will not output the asm code:
(gdb) set disassemble-next-line on
(gdb) si
<signal handler called>
(gdb)
<signal handler called>
(gdb)
<signal handler called>

So make this patch make they can work together, it will become:
(gdb) si
<signal handler called>
=> 0xffffffff816bfb09 <int_with_check+0>:	65 48 8b 0c 25 c8 c7 00 00	mov    %gs:0xc7c8,%rcx
(gdb)
<signal handler called>
=> 0xffffffff816bfb12 <int_with_check+9>:	48 81 e9 d8 1f 00 00	sub    $0x1fd8,%rcx
(gdb)
<signal handler called>
=> 0xffffffff816bfb19 <int_with_check+16>:	8b 51 10	mov    0x10(%rcx),%edx

2014-04-27  Hui Zhu  <hui@codesourcery.com>

	* stack.c (print_frame_info): Call do_gdb_disassembly with
	DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
This commit is contained in:
Hui Zhu 2014-04-27 22:23:43 +08:00
parent 7b667436a5
commit 433e77fad1
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2014-04-27 Hui Zhu <hui@codesourcery.com>
* stack.c (print_frame_info): Call do_gdb_disassembly with
DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
2014-04-26 Doug Evans <xdje42@gmail.com>
* guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment.

View file

@ -836,6 +836,13 @@ print_frame_info (struct frame_info *frame, int print_level,
ui_out_text (uiout, "\n");
annotate_frame_end ();
/* If disassemble-next-line is set to auto or on output the next
instruction. */
if (disassemble_next_line == AUTO_BOOLEAN_AUTO
|| disassemble_next_line == AUTO_BOOLEAN_TRUE)
do_gdb_disassembly (get_frame_arch (frame), 1,
get_frame_pc (frame), get_frame_pc (frame) + 1);
do_cleanups (uiout_cleanup);
return;
}