gdb: Fix backtrace with disassemble-next-line on
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 26 Dec 2019 20:56:01 +0000 (20:56 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Mon, 6 Jan 2020 21:16:28 +0000 (21:16 +0000)
commit153d79c451fd852e97cdfecf2205781e3a13dd55
treefbc51135a3b0f8851b917905085247e88cc30d11
parent66182876b46d40163e81504f7fa4f206268cb83c
gdb: Fix backtrace with disassemble-next-line on

In this commit:

  commit ec8e2b6d3051f0b4b2a8eee9917898e95046c62f
  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
gdb/ChangeLog
gdb/stack.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/backtrace.c [new file with mode: 0644]
gdb/testsuite/gdb.base/backtrace.exp [new file with mode: 0644]