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]

Re: [PATCH 0/4] Non-contiguous address range bug fixes / improvements


>>>>> "Kevin" == Kevin Buettner <kevinb@redhat.com> writes:

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

This is not really related to your patches, but since you have been
working in this area, I thought I'd ask.

I ran into a case where gdb will mis-report a breakpoint location in a
certain situation (that is, "info b" will show something odd for the
source location).  After debugging for a while, my theory is that the
problem occurs because the executable has non-contiguous address ranges.

In particular, find_pc_sect_line is written to first find the symtab
with the smallest overall range that encloses the PC, and then to find a
matching symbol in the symtab.  But, with non-contiguous ranges, this
can yield a sub-optimal result -- because the overall range of a symtab
not longer really says anything about whether it holds the best symbol.

Have you seen anything like this?  (I guess not since I'd imagine you'd
have written a patch ;-)

I was thinking perhaps the best fix would be to search the blockvectors
for a definitively enclosing block.  I wonder what you think.

thanks,
Tom


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