gdb: Fix backtrace with disassemble-next-line on
In this commit:
commit ec8e2b6d30
Date: Fri Jun 14 23:43:00 2019 +0100
gdb: Don't allow annotations to influence what else GDB prints
A change was accidentally made that moved a call to do_gdb_disassembly
out of an if block guarded by 'if (source_print && sal.symtab)'. The
result was that if a user has 'set disassemble-next-line on' then the
backtrace would now include some disassembly of a few instructions in
each frame.
This change was not intentional, but was not spotted by any tests.
This commit restores the old behaviour and adds a test to ensure this
doesn't break again in the future.
gdb/ChangeLog:
* stack.c (print_frame_info): Move disassemble_next_line code
inside source_print block.
gdb/testsuite/ChangeLog:
* gdb.base/backtrace.c: New file.
* gdb.base/backtrace.exp: New file.
Change-Id: I47c52a202fa74be138382646b695827940178689
This commit is contained in:
parent
66182876b4
commit
153d79c451
5 changed files with 103 additions and 5 deletions
10
gdb/stack.c
10
gdb/stack.c
|
@ -1153,12 +1153,12 @@ print_frame_info (const frame_print_options &fp_opts,
|
|||
|
||||
print_source_lines (sal.symtab, sal.line, sal.line + 1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* If disassemble-next-line is set to on and there is line debug
|
||||
messages, output assembly codes for next line. */
|
||||
if (disassemble_next_line == AUTO_BOOLEAN_TRUE)
|
||||
do_gdb_disassembly (get_frame_arch (frame), -1, sal.pc, sal.end);
|
||||
/* If disassemble-next-line is set to on and there is line debug
|
||||
messages, output assembly codes for next line. */
|
||||
if (disassemble_next_line == AUTO_BOOLEAN_TRUE)
|
||||
do_gdb_disassembly (get_frame_arch (frame), -1, sal.pc, sal.end);
|
||||
}
|
||||
|
||||
if (set_current_sal)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue