This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] [patch] Fix overlapping objfiles with discontiguous CUs (PR 13346)
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Jan Kiszka <jan dot kiszka at web dot de>, Vimal <j dot vimal at gmail dot com>
- Cc: gdb-patches at sourceware dot org, Tom Tromey <tromey at redhat dot com>
- Date: Fri, 2 Dec 2011 02:33:56 +0100
- Subject: [commit] [patch] Fix overlapping objfiles with discontiguous CUs (PR 13346)
On Tue, 08 Nov 2011 11:52:55 +0100, Jan Kiszka wrote:
> I can confirm it fixes the issue here.
On Thu, 10 Nov 2011 16:23:58 +0100, Vimal wrote:
> Thanks Jan Kratochvil! I can confirm that the patch fixes the issue as well.
Thanks for the testing.
There was off-list discussion about alternative ways to fix it.
The new attribute partial_symtab->psymtabs_addrmap_supported is in fact
constant for each partial_symtab->read_symtab function. Therefore we could
"subclass" partial_symtab for each of the readers having this additional
attribute there.
Tom also suggested we could finally drop partial_symtab and IIUC just build
in-memory-only gdbindex structures instead of partial_symtab.
Neither of these methods was done.
No regressions on {x86_64,x86_64-m32,i686}-fedora16-linux-gnu.
Checked in:
http://sourceware.org/ml/gdb-cvs/2011-12/msg00009.html
gdb/
PR breakpoints/13346
* dwarf2read.c (process_psymtab_comp_unit): Set
PSYMTABS_ADDRMAP_SUPPORTED.
* psympriv.h (struct partial_symtab): Comment textlow and texthigh
validity. New field psymtabs_addrmap_supported.
* psymtab.c (find_pc_sect_psymtab_closer): New gdb_assert on
psymtabs_addrmap_supported.
(find_pc_sect_psymtab): Do not fallback to TEXTLOW and TEXTHIGH for
!PSYMTABS_ADDRMAP_SUPPORTED.
(dump_psymtab, maintenance_info_psymtabs): Print also
psymtabs_addrmap_supported.
gdb/testsuite/
PR breakpoints/13346
* gdb.dwarf2/dw2-objfile-overlap-inner.S: New file.
* gdb.dwarf2/dw2-objfile-overlap-outer.S: New file.
* gdb.dwarf2/dw2-objfile-overlap.exp: New file.
This bug was a regression.
Regards,
Jan