This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] disassembly over compilation unit boundaries


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]