[v2,0/5] Non-contiguous address range bug fixes / improvements

Message ID 20190704045503.1250-1-kevinb@redhat.com
Headers show
Series
  • Non-contiguous address range bug fixes / improvements
Related show

Message

Kevin Buettner July 4, 2019, 4:54 a.m.
This five part series fixes some bugs associated with GDB's non-contiguous
address range support.

Differences from v1 can be summarized as follows:

- Big block of code in stack.c which handled "certain pathological cases"
  was removed entirely.  Both Tom and Pedro suggested this change.
- Changes to printcmd.c split out into separate patch; patch expanded
  to allow use of data associated with minimal symbol in certain (rare)
  cases.  (But perhaps not especially rare when dealing with
  non-contiguous address ranges.)
- Commit log for negative offset patch expanded with better examples.
- Tests revised slightly to not fail due to change in functionality.

I see no regressions when testing on F30 / x86_64.

Kevin Buettner (5):
  Prefer symtab symbol over minsym for function names in non-contiguous
    blocks
  Restrict use of minsym names when printing addresses in disassembled
    code
  dwarf2-frame.c: Fix FDE processing bug involving non-contiguous ranges
  Allow display of negative offsets in print_address_symbolic()
  Improve test gdb.dwarf2/dw2-ranges-func.exp

 gdb/disasm.c                                  |  12 +-
 gdb/dwarf2-frame.c                            |   8 +-
 gdb/printcmd.c                                |  33 +-
 gdb/stack.c                                   |  71 +-
 ...anges-func.c => dw2-ranges-func-hi-cold.c} |  44 +-
 .../gdb.dwarf2/dw2-ranges-func-lo-cold.c      |  82 +++
 gdb/testsuite/gdb.dwarf2/dw2-ranges-func.exp  | 693 ++++++++++--------
 gdb/valprint.h                                |  13 +-
 8 files changed, 542 insertions(+), 414 deletions(-)
 rename gdb/testsuite/gdb.dwarf2/{dw2-ranges-func.c => dw2-ranges-func-hi-cold.c} (85%)
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-func-lo-cold.c

-- 
2.21.0

Comments

Tom Tromey July 10, 2019, 2:27 p.m. | #1
>>>>> "Kevin" == Kevin Buettner <kevinb@redhat.com> writes:


Kevin> This five part series fixes some bugs associated with GDB's non-contiguous
Kevin> address range support.

I read through this and it all seemed ok to me.

I was mainly curious to see if there was a way to find out if some frame
is in the cold part of a function, but my reading of patch #4 is that
this can at least be deduced by reading the disassembly.

Thank you for working on this.

Tom
Kevin Buettner July 27, 2019, 8:48 p.m. | #2
On Wed,  3 Jul 2019 21:54:58 -0700
Kevin Buettner <kevinb@redhat.com> wrote:

> This five part series fixes some bugs associated with GDB's non-contiguous

> address range support.


I've pushed this series of commits.

Kevin