GDB (xrefs)
|
#include "cu.h"
Public Member Functions | |
dwarf2_cu (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile) | |
DISABLE_COPY_AND_ASSIGN (dwarf2_cu) | |
void | setup_type_unit_groups (struct die_info *die) |
struct compunit_symtab * | start_compunit_symtab (const char *name, const char *comp_dir, CORE_ADDR low_pc) |
void | reset_builder () |
struct type * | addr_type () const |
struct type * | addr_sized_int_type (bool unsigned_p) const |
void | mark () |
void | clear_mark () |
bool | is_marked () const |
void | add_dependence (struct dwarf2_per_cu_data *ref_per_cu) |
enum language | lang () const |
buildsym_compunit * | get_builder () |
Private Attributes | |
std::unique_ptr< buildsym_compunit > | m_builder |
htab_t | m_dependencies = nullptr |
|
explicit |
void dwarf2_cu::add_dependence | ( | struct dwarf2_per_cu_data * | ref_per_cu | ) |
Definition at line 155 of file cu.c.
References comp_unit_obstack, and m_dependencies.
Referenced by cooked_indexer::index_imported_unit(), and maybe_queue_comp_unit().
struct type * dwarf2_cu::addr_sized_int_type | ( | bool | unsigned_p | ) | const |
Definition at line 51 of file cu.c.
References dwarf2_per_cu_data::addr_size(), dwarf2_per_objfile::objfile, objfile_int_type(), per_cu, and per_objfile.
Referenced by addr_type(), read_array_type(), read_subrange_index_type(), read_subrange_type(), read_tag_string_type(), and set_die_type().
struct type * dwarf2_cu::addr_type | ( | ) | const |
Definition at line 107 of file cu.c.
References dwarf2_per_cu_data::addr_size(), addr_sized_int_type(), addr_type(), builtin_type(), builtin_type::builtin_void, type::is_unsigned(), type::length(), lookup_pointer_type(), dwarf2_per_objfile::objfile, per_cu, and per_objfile.
Referenced by addr_type(), read_func_scope(), read_structure_type(), and set_die_type().
dwarf2_cu::DISABLE_COPY_AND_ASSIGN | ( | dwarf2_cu | ) |
buildsym_compunit * dwarf2_cu::get_builder | ( | ) |
Definition at line 174 of file cu.c.
References m_builder, per_objfile, and dwarf2_per_objfile::sym_cu.
Referenced by dwarf2_record_block_ranges(), dwarf2_start_subfile(), dwarf_decode_lines(), dwarf_decode_macros(), dwarf_record_line_1(), dwarf_record_line_p(), fixup_go_packaging(), lnp_state_machine::handle_set_file(), new_symbol(), process_full_comp_unit(), process_full_type_unit(), read_func_scope(), read_lexical_block_scope(), lnp_state_machine::record_line(), setup_type_unit_groups(), start_compunit_symtab(), and using_directives().
|
inline |
Definition at line 92 of file cu.h.
References m_mark.
Referenced by dwarf2_per_objfile::age_comp_units().
|
inline |
Definition at line 109 of file cu.h.
References language_defn::la_language, language_def(), and language_unknown.
Referenced by build_error_marker_type(), build_type_psymtabs_reader(), compute_delayed_physnames(), determine_prefix(), dw2_linkage_name(), dwarf2_add_member_fn(), dwarf2_attach_fields_to_type(), dwarf2_attach_fn_fields_to_type(), dwarf2_canonicalize_name(), dwarf2_compute_name(), dwarf2_get_subprogram_pc_bounds(), dwarf2_init_complex_target_type(), dwarf2_init_float_type(), dwarf2_init_integer_type(), dwarf2_physname(), fixup_go_packaging(), follow_die_offset(), handle_struct_member_die(), is_ada_import_or_export(), need_gnat_info(), new_symbol(), process_die(), process_full_comp_unit(), process_full_type_unit(), process_imported_unit_die(), process_psymtab_comp_unit(), process_structure_scope(), prototyped_function_p(), queue_and_load_dwo_tu(), quirk_ada_thick_pointer(), quirk_ada_thick_pointer_struct(), read_array_order(), read_array_type(), read_base_type(), read_enumeration_type(), read_file_scope(), read_func_scope(), read_import_statement(), read_module_type(), read_namespace_type(), read_set_type(), read_structure_type(), read_subrange_type(), read_subroutine_type(), read_tag_ptr_to_member_type(), read_tag_string_type(), read_typedef(), read_unspecified_type(), read_variable(), rust_union_quirks(), start_compunit_symtab(), typename_concat(), and using_directives().
void dwarf2_cu::mark | ( | ) |
Definition at line 142 of file cu.c.
References dwarf2_mark_helper(), m_dependencies, m_mark, and per_objfile.
Referenced by dwarf2_per_objfile::age_comp_units(), and dwarf2_mark_helper().
|
inline |
Definition at line 70 of file cu.h.
References m_builder.
Referenced by process_full_comp_unit(), and process_full_type_unit().
void dwarf2_cu::setup_type_unit_groups | ( | struct die_info * | die | ) |
Definition at line 7719 of file read.c.
References allocate_symtab(), attribute::as_unsigned(), type_unit_group_unshareable::compunit_symtab, compunit_symtab::dirname(), dwarf2_attr(), dwarf2_start_subfile(), dwarf_decode_line_header(), line_header::file_names(), line_header::file_names_size(), attribute::form_is_unsigned(), get_builder(), buildsym_compunit::get_current_subfile(), buildsym_compunit::get_file_symbols(), get_type_unit_group(), dwarf2_per_objfile::get_type_unit_group_unshareable(), dwarf2_per_cu_data::is_debug_types, compunit_symtab::language(), line_header_die_owner, list_in_scope, m_builder, name, subfile::name, subfile::name_for_id, compunit_symtab::objfile(), objfile::objfile_obstack, per_cu, per_objfile, start_compunit_symtab(), subfile::symtab, file_entry::symtab, type_unit_group_unshareable::symtabs, and signatured_type::type_unit_group.
Referenced by read_type_unit_scope().
struct compunit_symtab * dwarf2_cu::start_compunit_symtab | ( | const char * | name, |
const char * | comp_dir, | ||
CORE_ADDR | low_pc ) |
Definition at line 61 of file cu.c.
References get_builder(), buildsym_compunit::get_compunit_symtab(), buildsym_compunit::get_file_symbols(), header, lang(), list_in_scope, m_builder, name, dwarf2_per_objfile::objfile, per_objfile, processing_has_namespace_info, producer, buildsym_compunit::record_debugformat(), buildsym_compunit::record_producer(), and comp_unit_head::version.
Referenced by read_file_scope(), and setup_type_unit_groups().
gdb::optional<ULONGEST> dwarf2_cu::addr_base |
Definition at line 192 of file cu.h.
Referenced by cutu_reader::cutu_reader(), dwarf2_read_addr_index(), read_addr_index(), read_cutu_die_from_dwo(), and read_toplevel_die().
gdb::optional<unrelocated_addr> dwarf2_cu::base_address |
Definition at line 104 of file cu.h.
Referenced by dwarf2_find_base_address(), dwarf2_ranges_process(), dwarf2_rnglists_process(), dwarf2_symbol_mark_computed(), and fill_in_loclist_baton().
htab_t dwarf2_cu::call_site_htab = nullptr |
Definition at line 177 of file cu.h.
Referenced by process_full_comp_unit(), and read_call_site_scope().
bool dwarf2_cu::checked_producer |
Definition at line 260 of file cu.h.
Referenced by check_producer(), producer_is_clang(), producer_is_codewarrior(), producer_is_gcc_lt_4_3(), producer_is_gxx_lt_4_6(), producer_is_icc(), and producer_is_icc_lt_14().
auto_obstack dwarf2_cu::comp_unit_obstack |
Definition at line 145 of file cu.h.
Referenced by add_dependence(), dwarf2_compute_name(), dwarf_alloc_block(), load_full_comp_unit(), read_cutu_die_from_dwo(), read_full_die_1(), and read_signatured_type().
htab_t dwarf2_cu::die_hash = nullptr |
Definition at line 158 of file cu.h.
Referenced by follow_die_offset(), follow_die_sig_1(), load_full_comp_unit(), read_signatured_type(), and store_in_ref_table().
Definition at line 161 of file cu.h.
Referenced by follow_die_offset(), load_cu(), load_full_comp_unit(), process_full_comp_unit(), process_full_type_unit(), and read_signatured_type().
Definition at line 188 of file cu.h.
Referenced by create_type_unit_group(), cu_debug_loc_section(), cu_debug_rnglists_section(), cutu_reader::cutu_reader(), dw2_do_instantiate_symtab(), dw2_get_file_names_reader(), dwarf_decode_line_header(), dwarf_decode_macros(), fill_in_loclist_baton(), get_debug_line_section(), get_type_unit_group(), cutu_reader::init_tu_and_read_dwo_dies(), lookup_dwo_signatured_type(), lookup_dwp_signatured_type(), lookup_loclist_base(), lookup_signatured_type(), queue_and_load_all_dwo_tus(), read_cutu_die_from_dwo(), and read_rnglist_index().
ULONGEST dwarf2_cu::gnu_ranges_base = 0 |
Definition at line 220 of file cu.h.
Referenced by dwarf2_get_pc_bounds(), dwarf2_record_block_ranges(), read_call_site_scope(), read_cutu_die_from_dwo(), and cooked_indexer::scan_attributes().
bool dwarf2_cu::has_loclist |
Definition at line 254 of file cu.h.
Referenced by process_full_comp_unit(), and var_decode_location().
struct comp_unit_head dwarf2_cu::header |
Definition at line 101 of file cu.h.
Referenced by build_error_marker_type(), cu_debug_loc_section(), cu_debug_rnglists_section(), cutu_reader::cutu_reader(), decode_locdesc(), dwarf2_access_attribute(), dwarf2_add_member_fn(), dwarf2_const_value_attr(), dwarf2_fetch_constant_bytes(), dwarf2_get_pc_bounds(), dwarf2_ranges_process(), dwarf2_read_addr_index(), dwarf2_record_block_ranges(), dwarf2_rnglists_process(), dwarf_decode_line_header(), dwarf_decode_lines_1(), dwarf_decode_macros(), cooked_indexer::ensure_cu_exists(), follow_die_offset(), cooked_indexer::index_dies(), load_full_comp_unit(), lookup_dwo_id(), lookup_loclist_base(), mark_common_block_symbol_computed(), peek_die_abbrev(), read_addr_index(), read_attribute_value(), read_call_site_scope(), read_cutu_die_from_dwo(), read_dwo_str_index(), read_loclist_index(), read_rnglist_index(), read_signatured_type(), read_str_index(), read_stub_str_index(), read_subrange_type(), read_tag_pointer_type(), read_tag_reference_type(), recognize_bound_expression(), cooked_indexer::scan_attributes(), skip_one_die(), start_compunit_symtab(), and var_decode_location().
const struct language_defn* dwarf2_cu::language_defn = nullptr |
Definition at line 107 of file cu.h.
Referenced by dwarf2_compute_name(), dwarf2_physname(), guess_full_die_structure_name(), prepare_one_comp_unit(), read_array_order(), and read_tag_string_type().
int dwarf2_cu::last_used = 0 |
Definition at line 154 of file cu.h.
Referenced by dwarf2_per_objfile::age_comp_units(), and maybe_queue_comp_unit().
struct line_header* dwarf2_cu::line_header = nullptr |
Definition at line 164 of file cu.h.
Referenced by dwarf_decode_macros(), handle_DW_AT_stmt_list(), new_symbol(), process_structure_scope(), read_file_scope(), and process_die_scope::~process_die_scope().
Definition at line 170 of file cu.h.
Referenced by handle_DW_AT_stmt_list(), setup_type_unit_groups(), and process_die_scope::~process_die_scope().
Definition at line 137 of file cu.h.
Referenced by inherit_abstract_dies(), new_symbol(), read_func_scope(), setup_type_unit_groups(), and start_compunit_symtab().
ULONGEST dwarf2_cu::loclist_base = 0 |
Definition at line 231 of file cu.h.
Referenced by lookup_loclist_base(), and read_toplevel_die().
|
private |
Definition at line 120 of file cu.h.
Referenced by get_builder(), reset_builder(), setup_type_unit_groups(), and start_compunit_symtab().
|
private |
Definition at line 125 of file cu.h.
Referenced by add_dependence(), and mark().
bool dwarf2_cu::m_mark |
Definition at line 248 of file cu.h.
Referenced by clear_mark(), is_marked(), and mark().
std::vector<delayed_method_info> dwarf2_cu::method_list |
Definition at line 174 of file cu.h.
Referenced by add_to_method_list(), compute_delayed_physnames(), process_full_comp_unit(), and process_full_type_unit().
struct dwarf2_per_cu_data* dwarf2_cu::per_cu |
Definition at line 148 of file cu.h.
Referenced by addr_sized_int_type(), addr_type(), dwarf2_per_objfile::age_comp_units(), attr_to_dynamic_prop(), build_type_psymtabs_reader(), cooked_indexer::check_bounds(), create_dwo_cu_reader(), dw2_get_file_names_reader(), dwarf2_const_value_attr(), dwarf2_fetch_die_loc_sect_off(), dwarf2_read_addr_index(), dwarf2_symbol_mark_computed(), dwarf_decode_line_header(), cooked_indexer::ensure_cu_exists(), cooked_index_storage::eq_cutu_reader(), fill_in_loclist_baton(), find_file_and_directory(), follow_die_offset(), follow_die_ref(), follow_die_sig_1(), get_debug_line_section(), get_die_type(), handle_DW_AT_stmt_list(), handle_member_location(), cooked_index_storage::hash_cutu_reader(), cooked_indexer::index_dies(), cooked_indexer::index_imported_unit(), lookup_die_type(), lookup_dwo_comp_unit(), lookup_dwo_cutu(), lookup_dwo_type_unit(), lookup_dwo_unit(), mark_common_block_symbol_computed(), maybe_queue_comp_unit(), open_and_init_dwo_file(), peek_die_abbrev(), prepare_one_comp_unit(), process_enumeration_scope(), process_full_comp_unit(), process_full_type_unit(), process_imported_unit_die(), process_queue(), queue_and_load_all_dwo_tus(), queue_and_load_dwo_tu(), queue_comp_unit(), read_alias(), read_attribute_value(), read_call_site_scope(), read_cutu_die_from_dwo(), cooked_indexer::recurse(), set_die_type(), and setup_type_unit_groups().
dwarf2_per_objfile* dwarf2_cu::per_objfile |
Definition at line 151 of file cu.h.
Referenced by add_ada_export_symbol(), add_variant_property(), addr_sized_int_type(), addr_type(), anonymous_struct_prefix(), attr_to_dynamic_prop(), build_error_marker_type(), cooked_indexer::check_bounds(), lnp_state_machine::check_line_address(), cu_debug_loc_section(), cu_debug_rnglists_section(), decode_locdesc(), determine_prefix(), die_containing_type(), die_type(), dw2_get_file_names_reader(), dwarf2_add_field(), dwarf2_add_member_fn(), dwarf2_compute_name(), dwarf2_const_value(), dwarf2_const_value_attr(), dwarf2_const_value_data(), dwarf2_get_pc_bounds(), dwarf2_init_complex_target_type(), dwarf2_init_float_type(), dwarf2_init_integer_type(), dwarf2_name(), dwarf2_physname(), dwarf2_ranges_process(), dwarf2_ranges_read(), dwarf2_read_addr_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_macros(), fill_in_loclist_baton(), fixup_go_packaging(), follow_die_offset(), follow_die_ref(), get_alignment(), get_builder(), get_debug_line_section(), get_die_type(), get_DW_AT_signature_type(), get_mpz(), get_signatured_type(), get_type_unit_group(), guess_full_die_structure_name(), handle_DW_AT_stmt_list(), handle_member_location(), handle_variant(), handle_variant_part(), cooked_indexer::index_imported_unit(), lookup_die_type(), lookup_dwo_cutu(), lookup_dwo_signatured_type(), lookup_dwp_signatured_type(), lookup_signatured_type(), mark(), mark_common_block_symbol_computed(), maybe_queue_comp_unit(), maybe_set_alignment(), new_symbol(), open_and_init_dwo_file(), process_full_comp_unit(), process_full_type_unit(), process_imported_unit_die(), process_queue(), process_structure_scope(), queue_and_load_all_dwo_tus(), queue_and_load_dwo_tu(), queue_comp_unit(), quirk_ada_thick_pointer(), read_addr_index(), read_addr_index_from_leb128(), read_alias(), read_array_type(), read_attribute_value(), read_base_type(), read_call_site_scope(), read_common_block(), read_cutu_die_from_dwo(), read_enumeration_type(), read_file_scope(), read_func_scope(), read_import_statement(), read_lexical_block_scope(), read_loclist_index(), read_module_type(), read_namespace(), read_namespace_type(), read_rnglist_index(), read_set_type(), 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(), cooked_indexer::scan_attributes(), set_die_type(), setup_type_unit_groups(), start_compunit_symtab(), unnamed_template_tag_name(), and var_decode_location().
bool dwarf2_cu::processing_has_namespace_info |
Definition at line 273 of file cu.h.
Referenced by new_symbol(), process_die(), read_func_scope(), and start_compunit_symtab().
const char* dwarf2_cu::producer = nullptr |
Definition at line 115 of file cu.h.
Referenced by check_producer(), prepare_one_comp_unit(), process_full_comp_unit(), process_structure_scope(), prototyped_function_p(), read_array_order(), read_structure_type(), read_subroutine_type(), read_typedef(), and start_compunit_symtab().
bool dwarf2_cu::producer_is_clang |
Definition at line 267 of file cu.h.
Referenced by check_producer(), and producer_is_clang().
bool dwarf2_cu::producer_is_codewarrior |
Definition at line 266 of file cu.h.
Referenced by check_producer(), and producer_is_codewarrior().
bool dwarf2_cu::producer_is_gcc_11 |
Definition at line 263 of file cu.h.
Referenced by check_producer(), and handle_member_location().
bool dwarf2_cu::producer_is_gcc_lt_4_3 |
Definition at line 262 of file cu.h.
Referenced by check_producer(), and producer_is_gcc_lt_4_3().
bool dwarf2_cu::producer_is_gxx_lt_4_6 |
Definition at line 261 of file cu.h.
Referenced by check_producer(), and producer_is_gxx_lt_4_6().
bool dwarf2_cu::producer_is_icc |
Definition at line 264 of file cu.h.
Referenced by check_producer(), and producer_is_icc().
bool dwarf2_cu::producer_is_icc_lt_14 |
Definition at line 265 of file cu.h.
Referenced by check_producer(), and producer_is_icc_lt_14().
ULONGEST dwarf2_cu::rnglists_base = 0 |
Definition at line 228 of file cu.h.
Referenced by read_cutu_die_from_dwo(), read_rnglist_index(), and read_toplevel_die().
std::vector<struct type *> dwarf2_cu::rust_unions |
Definition at line 239 of file cu.h.
Referenced by process_structure_scope(), and rust_union_quirks().
gdb::optional<ULONGEST> dwarf2_cu::str_offsets_base |
Definition at line 245 of file cu.h.
Referenced by cutu_reader::cutu_reader(), dwarf_decode_macros(), read_stub_str_index(), and read_toplevel_die().