diff options
author | Tom Tromey <tom@tromey.com> | 2020-05-27 11:13:48 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-05-27 11:13:48 -0400 |
commit | 45940949265417e8a21b5936e906cf24a3177001 (patch) | |
tree | 4115741e2941a046a063eb4dafe27cf2c2f60d4b /gdb/psympriv.h | |
parent | f8c6d1528c19b11fdaa3ec949147280e500446e2 (diff) | |
download | gdb-45940949265417e8a21b5936e906cf24a3177001.zip gdb-45940949265417e8a21b5936e906cf24a3177001.tar.gz gdb-45940949265417e8a21b5936e906cf24a3177001.tar.bz2 |
Introduce dwarf2_per_objfile::obstack
Currently much of the DWARF-related data is stored on the objfile
obstack. This prevents sharing this data across objfiles, so this patch
adds a new obstack to dwarf2_per_objfile. Note that the
dwarf2_per_objfile type is going to become "dwarf2_per_bfd" in a
subsequent patch, which is indeed going to be shared between objfiles.
One way to check whether this is correct is to look at the remaining
uses of objfile_obstack in the DWARF code and note that they all
appear in the "full CU" code paths.
The converse -- storing per-objfile data on the shared obstack -- is
not good, but it is just a memory leak, not a potential
use-after-free. Double-checking this would also be useful, though.
gdb/ChangeLog:
* dwarf2/read.h (struct dwarf2_per_objfile) <obstack>: New
member.
* dwarf2/read.c (delete_file_name_entry): Fix comment.
(create_cu_from_index_list)
(create_signatured_type_table_from_index)
(create_signatured_type_table_from_debug_names)
(dw2_get_file_names_reader, dwarf2_initialize_objfile)
(dwarf2_create_include_psymtab)
(create_debug_type_hash_table, add_type_unit)
(create_type_unit_group, read_comp_units_from_section)
(dwarf2_compute_name, create_cus_hash_table)
(create_dwp_hash_table, create_dwo_unit_in_dwp_v1)
(create_dwo_unit_in_dwp_v2, open_and_init_dwp_file): Use new
obstack.
(dw2_get_real_path): Likewise. Change argument to
dwarf2_per_objfile.
Change-Id: Icdec7be7c4d9f33d1dce4f807284f3077f7d3f03
Diffstat (limited to 'gdb/psympriv.h')
0 files changed, 0 insertions, 0 deletions