diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2008-05-04 17:27:01 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2008-05-04 17:27:01 +0000 |
commit | ff013f42f48f16bd8606a109bcaa49b7aa90499a (patch) | |
tree | 3fb23831c61d908b6b689719b3d4af5855193c9f /gdb/objfiles.h | |
parent | 85cbf3d35dae0aedb6f444a71e723187acdf1f1d (diff) | |
download | gdb-ff013f42f48f16bd8606a109bcaa49b7aa90499a.zip gdb-ff013f42f48f16bd8606a109bcaa49b7aa90499a.tar.gz gdb-ff013f42f48f16bd8606a109bcaa49b7aa90499a.tar.bz2 |
gdb/
* Makefile.in: Update dependencies.
* dwarf2read.c: Include "addrmap.h"
(struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
(dwarf2_ranges_read): New prototype.
(dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
HAS_RANGES_OFFSET, otherwise add there the contiguous range.
(dwarf2_ranges_read): New parameter RANGES_PST, update the function
comment for it. Add the found ranges to RANGES_PST. New variable
BASEADDR, initialize it the common way.
(dwarf2_get_pc_bounds): Update the caller for the new parameter.
(read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
HAS_RANGES_OFFSET for the later processing.
* objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
* symtab.c: Include "addrmap.h"
(find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
Move the psymtab locator into ...
(find_pc_sect_psymtab_closer): ... a new function.
gdb/testsuite/
* gdb.dwarf2/dw2-ranges.S: Merge the secondary section with `.fini'.
* gdb.dwarf2/dw2-ranges.exp: Compile also `dw2-ranges2.S' and
`dw2-ranges3.S' and test also their MAIN2, FUNC2 and MAIN3 symbols.
* gdb.dwarf2/dw2-ranges2.S, gdb.dwarf2/dw2-ranges3.S: New files.
Diffstat (limited to 'gdb/objfiles.h')
-rw-r--r-- | gdb/objfiles.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/objfiles.h b/gdb/objfiles.h index c3ae954..7e39b07 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -220,6 +220,13 @@ struct objfile struct partial_symtab *psymtabs; + /* Map addresses to the entries of PSYMTABS. It would be more efficient to + have a map per the whole process but ADDRMAP cannot selectively remove + its items during FREE_OBJFILE. This mapping is already present even for + PARTIAL_SYMTABs which still have no corresponding full SYMTABs read. */ + + struct addrmap *psymtabs_addrmap; + /* List of freed partial symtabs, available for re-use */ struct partial_symtab *free_psymtabs; |