GDB (xrefs)
|
#include "read.h"
Public Member Functions | |
dwarf2_per_objfile (struct objfile *objfile, dwarf2_per_bfd *per_bfd) | |
~dwarf2_per_objfile () | |
const char * | read_line_string (const gdb_byte *buf, const struct comp_unit_head *cu_header, unsigned int *bytes_read_ptr) |
const char * | read_line_string (const gdb_byte *buf, unsigned int offset_size) |
bool | symtab_set_p (const dwarf2_per_cu_data *per_cu) const |
compunit_symtab * | get_symtab (const dwarf2_per_cu_data *per_cu) const |
void | set_symtab (const dwarf2_per_cu_data *per_cu, compunit_symtab *symtab) |
type_unit_group_unshareable * | get_type_unit_group_unshareable (type_unit_group *tu_group) |
struct type * | get_type_for_signatured_type (signatured_type *sig_type) const |
void | set_type_for_signatured_type (signatured_type *sig_type, struct type *type) |
dwarf2_cu * | get_cu (dwarf2_per_cu_data *per_cu) |
void | set_cu (dwarf2_per_cu_data *per_cu, std::unique_ptr< dwarf2_cu > cu) |
void | remove_cu (dwarf2_per_cu_data *per_cu) |
void | remove_all_cus () |
void | age_comp_units () |
Public Attributes | |
struct objfile * | objfile |
struct dwarf2_per_bfd * | per_bfd |
htab_up | die_type_hash |
htab_up | line_header_hash |
dwarf2_cu * | sym_cu = nullptr |
gdb::optional< std::queue< dwarf2_queue_item > > | queue |
Private Types | |
typedef std::unique_ptr< type_unit_group_unshareable > | type_unit_group_unshareable_up |
Private Attributes | |
std::vector< compunit_symtab * > | m_symtabs |
std::unordered_map< type_unit_group *, type_unit_group_unshareable_up > | m_type_units |
std::unordered_map< signatured_type *, struct type * > | m_type_map |
std::unordered_map< dwarf2_per_cu_data *, std::unique_ptr< dwarf2_cu > > | m_dwarf2_cus |
|
private |
|
inline |
dwarf2_per_objfile::~dwarf2_per_objfile | ( | ) |
Definition at line 23863 of file read.c.
References remove_all_cus().
void dwarf2_per_objfile::age_comp_units | ( | ) |
Definition at line 23809 of file read.c.
References dwarf_max_cache_age, dwarf_read_debug_printf_v, dwarf2_cu::is_marked(), dwarf2_cu::last_used, m_dwarf2_cus, dwarf2_cu::mark(), dwarf2_cu::per_cu, queue, dwarf2_per_cu_data::sect_off, and sect_offset_str().
Referenced by dw2_do_instantiate_symtab().
dwarf2_cu * dwarf2_per_objfile::get_cu | ( | dwarf2_per_cu_data * | per_cu | ) |
Definition at line 23786 of file read.c.
References m_dwarf2_cus.
Referenced by cutu_reader::cutu_reader(), dwarf2_fetch_constant_bytes(), dwarf2_fetch_die_type_sect_off(), dwarf2_mark_helper(), dwarf2_read_addr_index(), fill_in_sig_entry_from_dwo_entry(), follow_die_offset(), follow_die_sig_1(), cutu_reader::init_tu_and_read_dwo_dies(), load_cu(), load_full_type_unit(), maybe_queue_comp_unit(), process_imported_unit_die(), process_queue(), read_signatured_type(), and set_cu().
compunit_symtab * dwarf2_per_objfile::get_symtab | ( | const dwarf2_per_cu_data * | per_cu | ) | const |
Definition at line 1526 of file read.c.
References dwarf2_per_cu_data::index, and m_symtabs.
Referenced by compute_compunit_symtab_includes(), dw2_instantiate_symtab(), call_site_target::iterate_over_addresses(), call_site::pc(), and recursively_compute_inclusions().
struct type * dwarf2_per_objfile::get_type_for_signatured_type | ( | signatured_type * | sig_type | ) | const |
type_unit_group_unshareable * dwarf2_per_objfile::get_type_unit_group_unshareable | ( | type_unit_group * | tu_group | ) |
Definition at line 8266 of file read.c.
References m_type_units.
Referenced by process_full_type_unit(), and dwarf2_cu::setup_type_unit_groups().
const char * dwarf2_per_objfile::read_line_string | ( | const gdb_byte * | buf, |
const struct comp_unit_head * | cu_header, | ||
unsigned int * | bytes_read_ptr | ||
) |
Definition at line 19389 of file read.c.
References dwarf2_per_bfd::line_str, objfile::obfd, per_bfd, comp_unit_head::read_offset(), and dwarf2_section_info::read_string().
Referenced by read_attribute_value(), and read_formatted_entries().
const char * dwarf2_per_objfile::read_line_string | ( | const gdb_byte * | buf, |
unsigned int | offset_size | ||
) |
Definition at line 19377 of file read.c.
References dwarf2_per_bfd::line_str, objfile::obfd, per_bfd, read_offset(), and dwarf2_section_info::read_string().
void dwarf2_per_objfile::remove_all_cus | ( | ) |
Definition at line 1482 of file read.c.
References m_dwarf2_cus, and queue.
Referenced by ~dwarf2_per_objfile(), and free_cached_comp_units::~free_cached_comp_units().
void dwarf2_per_objfile::remove_cu | ( | dwarf2_per_cu_data * | per_cu | ) |
Definition at line 23854 of file read.c.
References m_dwarf2_cus.
Referenced by dwarf2_queue_item::~dwarf2_queue_item().
void dwarf2_per_objfile::set_cu | ( | dwarf2_per_cu_data * | per_cu, |
std::unique_ptr< dwarf2_cu > | cu | ||
) |
Definition at line 23798 of file read.c.
References get_cu(), and m_dwarf2_cus.
Referenced by cutu_reader::keep().
void dwarf2_per_objfile::set_symtab | ( | const dwarf2_per_cu_data * | per_cu, |
compunit_symtab * | symtab | ||
) |
Definition at line 1536 of file read.c.
References dwarf2_per_cu_data::index, and m_symtabs.
Referenced by process_full_comp_unit(), and process_full_type_unit().
void dwarf2_per_objfile::set_type_for_signatured_type | ( | signatured_type * | sig_type, |
struct type * | type | ||
) |
bool dwarf2_per_objfile::symtab_set_p | ( | const dwarf2_per_cu_data * | per_cu | ) | const |
Definition at line 1516 of file read.c.
References dwarf2_per_cu_data::index, and m_symtabs.
Referenced by dw2_do_instantiate_symtab(), dw2_expand_symtabs_matching_one(), dw2_instantiate_symtab(), dw2_symtab_iter_next(), dw_expand_symtabs_matching_file_matcher(), cooked_index_functions::expand_symtabs_matching(), fill_in_sig_entry_from_dwo_entry(), dwarf2_base_index_functions::find_pc_sect_compunit_symtab(), dwarf2_base_index_functions::has_unexpanded_symtabs(), dwarf2_base_index_functions::map_symbol_filenames(), maybe_queue_comp_unit(), dw2_debug_names_iterator::next(), dwarf2_base_index_functions::print_stats(), and process_queue().
htab_up dwarf2_per_objfile::die_type_hash |
Definition at line 657 of file read.h.
Referenced by get_die_type_at_offset(), and set_die_type().
htab_up dwarf2_per_objfile::line_header_hash |
Definition at line 660 of file read.h.
Referenced by handle_DW_AT_stmt_list().
|
private |
Definition at line 688 of file read.h.
Referenced by age_comp_units(), get_cu(), remove_all_cus(), remove_cu(), and set_cu().
|
private |
Definition at line 672 of file read.h.
Referenced by get_symtab(), set_symtab(), and symtab_set_p().
|
private |
Definition at line 683 of file read.h.
Referenced by get_type_for_signatured_type(), and set_type_for_signatured_type().
|
private |
Definition at line 680 of file read.h.
Referenced by get_type_unit_group_unshareable().
struct objfile* dwarf2_per_objfile::objfile |
Definition at line 648 of file read.h.
Referenced by add_variant_property(), dwarf2_cu::addr_sized_int_type(), dwarf2_cu::addr_type(), dwarf_expr_context::address_type(), anonymous_struct_prefix(), attr_to_dynamic_prop(), build_error_marker_type(), build_type_psymtabs(), cooked_indexer::check_bounds(), lnp_state_machine::check_line_address(), compute_compunit_symtab_includes(), create_addrmap_from_index(), create_all_units(), create_cus_hash_table(), create_debug_type_hash_table(), create_dwo_unit_in_dwp_v1(), create_dwo_unit_in_dwp_v2(), create_dwo_unit_in_dwp_v5(), create_dwp_hash_table(), create_signatured_type_table_from_debug_names(), cutu_reader::cutu_reader(), debug_names::debug_str_lookup::debug_str_lookup(), decode_locdesc(), die_containing_type(), die_type(), do_compile_dwarf_expr_to_c(), dw2_expand_marked_cus(), dw2_get_file_names_reader(), dw2_symtab_iter_next(), dwarf2_add_field(), dwarf2_add_member_fn(), dwarf2_build_psymtabs_hard(), dwarf2_compile_expr_to_ax(), dwarf2_compute_name(), dwarf2_const_value(), dwarf2_const_value_attr(), dwarf2_const_value_data(), dwarf2_fetch_cfa_info(), dwarf2_fetch_constant_bytes(), dwarf2_find_location_expression(), dwarf2_frame_cache(), dwarf2_get_symbol_read_needs(), dwarf2_name(), dwarf2_physname(), dwarf2_ranges_process(), dwarf2_ranges_read(), dwarf2_read_debug_names(), dwarf2_read_gdb_index(), dwarf2_record_block_ranges(), dwarf2_rnglists_process(), dwarf2_string_attr(), dwarf2_symbol_mark_computed(), dwarf_decode_line_header(), dwarf_decode_lines_1(), dwarf_decode_macro_bytes(), dwarf_decode_macros(), error_check_comp_unit_head(), dwarf_expr_context::execute_stack_op(), dwarf_expr_context::fetch_address(), dwarf_expr_context::fetch_result(), fill_in_loclist_baton(), dw2_debug_names_iterator::find_vec_in_debug_names(), fixup_go_packaging(), follow_die_ref(), get_alignment(), dwarf_expr_context::get_base_type(), get_DW_AT_signature_type(), get_mpz(), get_signatured_type(), guess_full_die_structure_name(), handle_member_location(), handle_variant(), handle_variant_part(), call_site_target::iterate_over_addresses(), locexpr_describe_location_1(), locexpr_describe_location_piece(), locexpr_get_symbol_read_needs(), loclist_describe_location(), lookup_die_type(), lookup_dwo_cutu(), mark_common_block_symbol_computed(), maybe_set_alignment(), new_symbol(), dw2_debug_names_iterator::next(), open_and_init_dwo_file(), open_and_init_dwp_file(), call_site::pc(), process_full_comp_unit(), process_full_type_unit(), process_imported_unit_die(), process_queue(), process_structure_scope(), quirk_ada_thick_pointer(), read_abbrev_offset(), read_addr_index_1(), read_addr_index_from_leb128(), read_addrmap_from_aranges(), read_array_type(), read_attribute_value(), read_base_type(), read_call_site_scope(), read_common_block(), read_comp_units_from_section(), read_cutu_die_from_dwo(), read_enumeration_type(), read_file_scope(), read_func_scope(), read_import_statement(), read_indirect_string_at_offset(), read_lexical_block_scope(), read_loclist_index(), read_module_type(), read_namespace(), read_namespace_type(), read_rnglist_index(), read_str_index(), read_structure_type(), read_stub_str_index(), read_subrange_type(), read_subroutine_type(), read_tag_pointer_type(), read_tag_ptr_to_member_type(), read_tag_string_type(), read_typedef(), read_unspecified_type(), read_variable(), rust_union_quirks(), rw_pieced_value(), cooked_indexer::scan_attributes(), set_die_type(), dwarf2_cu::start_compunit_symtab(), index_cache::store(), try_open_dwop_file(), unnamed_template_tag_name(), var_decode_location(), write_debug_names(), and write_dwarf_index().
struct dwarf2_per_bfd* dwarf2_per_objfile::per_bfd |
Definition at line 652 of file read.h.
Referenced by add_type_unit(), build_type_psymtabs(), check_dwarf64_offsets(), create_addrmap_from_aranges(), create_addrmap_from_index(), create_all_units(), create_cus_hash_table(), create_debug_type_hash_table(), create_dwo_unit_in_dwp_v1(), create_dwo_unit_in_dwp_v2(), create_dwo_unit_in_dwp_v5(), create_dwp_hash_table(), create_signatured_type_table_from_debug_names(), cu_debug_loc_section(), cu_debug_rnglists_section(), debug_names::debug_str_lookup::debug_str_lookup(), determine_prefix(), dwarf2_gdb_index::dump(), dw2_do_instantiate_symtab(), dw2_expand_marked_cus(), dw2_get_file_names_reader(), dw2_get_real_path(), dw2_symtab_iter_next(), dw_expand_symtabs_matching_file_matcher(), dwarf2_build_psymtabs(), dwarf2_build_psymtabs_hard(), dwarf2_get_pc_bounds(), dwarf2_get_section_info(), dwarf2_has_info(), dwarf2_initialize_objfile(), dwarf2_ranges_process(), dwarf2_read_debug_names(), dwarf2_read_gdb_index(), dwarf2_rnglists_process(), dwarf_decode_macro_bytes(), dwarf_decode_macros(), cooked_indexer::ensure_cu_exists(), dwarf2_base_index_functions::expand_all_symtabs(), dwarf2_gdb_index::expand_matching_symbols(), dwarf2_debug_names_index::expand_matching_symbols(), cooked_index_functions::expand_matching_symbols(), dwarf2_gdb_index::expand_symtabs_matching(), dwarf2_debug_names_index::expand_symtabs_matching(), cooked_index_functions::expand_symtabs_matching(), fill_in_sig_entry_from_dwo_entry(), cooked_index_functions::find_compunit_symtab_by_address(), dwarf2_base_index_functions::find_last_source_symtab(), dwarf2_base_index_functions::find_pc_sect_compunit_symtab(), follow_die_offset(), follow_die_sig_1(), dwarf2_base_index_functions::forget_cached_source_info(), get_debug_line_section(), get_dwp_file(), get_type_unit_group(), dwarf2_base_index_functions::has_unexpanded_symtabs(), debug_names::debug_str_lookup::lookup(), lookup_die_type(), lookup_dwo_file_slot(), lookup_dwo_signatured_type(), lookup_dwp_signatured_type(), lookup_signatured_type(), dwarf2_base_index_functions::map_symbol_filenames(), new_symbol(), dw2_debug_names_iterator::next(), open_and_init_dwp_file(), dwarf2_base_index_functions::print_stats(), print_tu_stats(), process_cu_includes(), process_full_comp_unit(), process_imported_unit_die(), process_skeletonless_type_units(), read_addr_index_1(), read_addrmap_from_aranges(), read_attribute_value(), read_comp_units_from_section(), read_indirect_string_at_offset(), read_line_string(), read_stub_str_index(), read_variable(), save_gdb_index_command(), cooked_indexer::scan_attributes(), index_cache::store(), write_debug_names(), write_dwarf_index(), and write_gdbindex().
gdb::optional<std::queue<dwarf2_queue_item> > dwarf2_per_objfile::queue |
Definition at line 666 of file read.h.
Referenced by age_comp_units(), dwarf2_queue_guard::dwarf2_queue_guard(), process_queue(), queue_comp_unit(), remove_all_cus(), and dwarf2_queue_guard::~dwarf2_queue_guard().
dwarf2_cu* dwarf2_per_objfile::sym_cu = nullptr |
Definition at line 663 of file read.h.
Referenced by dwarf2_cu::get_builder(), and read_file_scope().