aboutsummaryrefslogtreecommitdiff
path: root/gdb/psympriv.h
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-12-02 01:28:55 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-12-02 01:28:55 +0000
commit9750bca92c8e67e36ac1b9724abfcb814efaf48f (patch)
tree6161738a1dcf9feccf4570fc2e413cf6d40ab797 /gdb/psympriv.h
parentf28c316a0bbb40b341e36d9e328a4d60121c395a (diff)
downloadgdb-9750bca92c8e67e36ac1b9724abfcb814efaf48f.zip
gdb-9750bca92c8e67e36ac1b9724abfcb814efaf48f.tar.gz
gdb-9750bca92c8e67e36ac1b9724abfcb814efaf48f.tar.bz2
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.
Diffstat (limited to 'gdb/psympriv.h')
-rw-r--r--gdb/psympriv.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 95d7676..cee3994 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -92,7 +92,8 @@ struct partial_symtab
struct section_offsets *section_offsets;
/* Range of text addresses covered by this file; texthigh is the
- beginning of the next section. */
+ beginning of the next section. Do not use if PSYMTABS_ADDRMAP_SUPPORTED
+ is set. */
CORE_ADDR textlow;
CORE_ADDR texthigh;
@@ -135,6 +136,12 @@ struct partial_symtab
unsigned char readin;
+ /* True iff objfile->psymtabs_addrmap is properly populated for this
+ partial_symtab. For discontiguous overlapping psymtabs is the only usable
+ info in PSYMTABS_ADDRMAP. */
+
+ unsigned char psymtabs_addrmap_supported;
+
/* Pointer to symtab eventually allocated for this source file, 0 if
!readin or if we haven't looked for the symtab after it was readin. */