This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 0/2] disassembly over compilation unit boundaries
- From: Andrew Burgess <andrew dot burgess at embecosm dot com>
- To: gdb-patches at sourceware dot org
- Cc: Andrew Burgess <andrew dot burgess at embecosm dot com>
- Date: Sun, 30 Aug 2015 12:48:30 +0100
- Subject: [PATCH 0/2] disassembly over compilation unit boundaries
- Authentication-results: sourceware.org; auth=none
Patch #2 in this series attempts to improve gdb's ability to
disassembly over compilation unit boundaries. The thinking is that if
a user tries to disassemble the address range from START to END like
this:
(gdb) disassemble /m START,END
Then even though they asked for disassembly with source code, it is
better to provide raw assembly if there's no debug information
available, and so raw assembly is the best they'll ever get.
At the same time I address the issue where the address range crosses
from one compilation unit with debug information into a second
compilation unit also with debug information. Currently gdb will
again stop at the boundary of the first compilation unit, after this
patch the disassembly will continue.
Patch #1 is a small clean up in the disassembly code.
Thanks,
Andrew
Andrew Burgess (2):
gdb: Move common MI code to outer function.
gdb: Ensure disassembler covers requested address range.
gdb/ChangeLog | 18 +++
gdb/disasm.c | 141 +++++++++++++++------
gdb/testsuite/ChangeLog | 11 ++
gdb/testsuite/gdb.base/disasm-end-cu.exp | 49 -------
.../{disasm-end-cu-1.c => disasm-multi-cu-1.c} | 10 +-
.../{disasm-end-cu-2.c => disasm-multi-cu-2.c} | 14 +-
gdb/testsuite/gdb.base/disasm-multi-cu-3.c | 30 +++++
gdb/testsuite/gdb.base/disasm-multi-cu.exp | 111 ++++++++++++++++
gdb/testsuite/gdb.base/disasm-multi-cu.h | 25 ++++
9 files changed, 304 insertions(+), 105 deletions(-)
delete mode 100644 gdb/testsuite/gdb.base/disasm-end-cu.exp
rename gdb/testsuite/gdb.base/{disasm-end-cu-1.c => disasm-multi-cu-1.c} (86%)
rename gdb/testsuite/gdb.base/{disasm-end-cu-2.c => disasm-multi-cu-2.c} (80%)
create mode 100644 gdb/testsuite/gdb.base/disasm-multi-cu-3.c
create mode 100644 gdb/testsuite/gdb.base/disasm-multi-cu.exp
create mode 100644 gdb/testsuite/gdb.base/disasm-multi-cu.h
--
2.5.1