GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Types | Private Attributes | List of all members
dwarf2_per_objfile Struct Reference

#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_symtabget_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_unshareableget_type_unit_group_unshareable (type_unit_group *tu_group)
 
struct typeget_type_for_signatured_type (signatured_type *sig_type) const
 
void set_type_for_signatured_type (signatured_type *sig_type, struct type *type)
 
dwarf2_cuget_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 ()
 
unrelocated_addr adjust (unrelocated_addr addr)
 
CORE_ADDR relocate (unrelocated_addr addr)
 

Public Attributes

struct objfileobjfile
 
struct dwarf2_per_bfdper_bfd
 
htab_up die_type_hash
 
htab_up line_header_hash
 
dwarf2_cusym_cu = nullptr
 
gdb::optional< std::queue< dwarf2_queue_item > > queue
 

Private Types

typedef std::unique_ptr< type_unit_group_unshareabletype_unit_group_unshareable_up
 

Private Attributes

std::vector< compunit_symtab * > m_symtabs
 
std::unordered_map< type_unit_group *, type_unit_group_unshareable_upm_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
 

Detailed Description

Definition at line 658 of file read.h.

Member Typedef Documentation

◆ type_unit_group_unshareable_up

Definition at line 753 of file read.h.

Constructor & Destructor Documentation

◆ dwarf2_per_objfile()

dwarf2_per_objfile::dwarf2_per_objfile ( struct objfile * objfile,
dwarf2_per_bfd * per_bfd )
inline

Definition at line 660 of file read.h.

◆ ~dwarf2_per_objfile()

dwarf2_per_objfile::~dwarf2_per_objfile ( )

Definition at line 21850 of file read.c.

References remove_all_cus().

Member Function Documentation

◆ adjust()

unrelocated_addr dwarf2_per_objfile::adjust ( unrelocated_addr addr)

◆ age_comp_units()

void dwarf2_per_objfile::age_comp_units ( )

◆ get_cu()

dwarf2_cu * dwarf2_per_objfile::get_cu ( dwarf2_per_cu_data * per_cu)

◆ get_symtab()

compunit_symtab * dwarf2_per_objfile::get_symtab ( const dwarf2_per_cu_data * per_cu) const

◆ get_type_for_signatured_type()

struct type * dwarf2_per_objfile::get_type_for_signatured_type ( signatured_type * sig_type) const

Definition at line 6259 of file read.c.

References m_type_map.

Referenced by get_signatured_type().

◆ get_type_unit_group_unshareable()

type_unit_group_unshareable * dwarf2_per_objfile::get_type_unit_group_unshareable ( type_unit_group * tu_group)

Definition at line 6246 of file read.c.

References m_type_units.

Referenced by process_full_type_unit(), and dwarf2_cu::setup_type_unit_groups().

◆ read_line_string() [1/2]

const char * dwarf2_per_objfile::read_line_string ( const gdb_byte * buf,
const struct comp_unit_head * cu_header,
unsigned int * bytes_read_ptr )

◆ read_line_string() [2/2]

const char * dwarf2_per_objfile::read_line_string ( const gdb_byte * buf,
unsigned int offset_size )

◆ relocate()

CORE_ADDR dwarf2_per_objfile::relocate ( unrelocated_addr addr)

◆ remove_all_cus()

void dwarf2_per_objfile::remove_all_cus ( )

Definition at line 1289 of file read.c.

References m_dwarf2_cus.

Referenced by ~dwarf2_per_objfile(), and free_cached_comp_units::~free_cached_comp_units().

◆ remove_cu()

void dwarf2_per_objfile::remove_cu ( dwarf2_per_cu_data * per_cu)

Definition at line 21841 of file read.c.

References m_dwarf2_cus.

Referenced by dwarf2_queue_item::~dwarf2_queue_item().

◆ set_cu()

void dwarf2_per_objfile::set_cu ( dwarf2_per_cu_data * per_cu,
std::unique_ptr< dwarf2_cu > cu )

Definition at line 21785 of file read.c.

References get_cu(), and m_dwarf2_cus.

Referenced by cutu_reader::keep().

◆ set_symtab()

void dwarf2_per_objfile::set_symtab ( const dwarf2_per_cu_data * per_cu,
compunit_symtab * symtab )

Definition at line 1343 of file read.c.

References dwarf2_per_cu_data::index, and m_symtabs.

Referenced by process_full_comp_unit(), and process_full_type_unit().

◆ set_type_for_signatured_type()

void dwarf2_per_objfile::set_type_for_signatured_type ( signatured_type * sig_type,
struct type * type )

Definition at line 6269 of file read.c.

References m_type_map, and type.

Referenced by get_signatured_type().

◆ symtab_set_p()

bool dwarf2_per_objfile::symtab_set_p ( const dwarf2_per_cu_data * per_cu) const

Member Data Documentation

◆ die_type_hash

htab_up dwarf2_per_objfile::die_type_hash

Definition at line 733 of file read.h.

Referenced by get_die_type_at_offset(), and set_die_type().

◆ line_header_hash

htab_up dwarf2_per_objfile::line_header_hash

Definition at line 736 of file read.h.

Referenced by handle_DW_AT_stmt_list().

◆ m_dwarf2_cus

std::unordered_map<dwarf2_per_cu_data *, std::unique_ptr<dwarf2_cu> > dwarf2_per_objfile::m_dwarf2_cus
private

Definition at line 764 of file read.h.

Referenced by age_comp_units(), get_cu(), remove_all_cus(), remove_cu(), and set_cu().

◆ m_symtabs

std::vector<compunit_symtab *> dwarf2_per_objfile::m_symtabs
private

Definition at line 748 of file read.h.

Referenced by get_symtab(), set_symtab(), and symtab_set_p().

◆ m_type_map

std::unordered_map<signatured_type *, struct type *> dwarf2_per_objfile::m_type_map
private

Definition at line 759 of file read.h.

Referenced by get_type_for_signatured_type(), and set_type_for_signatured_type().

◆ m_type_units

std::unordered_map<type_unit_group *, type_unit_group_unshareable_up> dwarf2_per_objfile::m_type_units
private

Definition at line 756 of file read.h.

Referenced by get_type_unit_group_unshareable().

◆ objfile

struct objfile* dwarf2_per_objfile::objfile

Definition at line 724 of file read.h.

Referenced by add_ada_export_symbol(), 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(), lnp_state_machine::check_line_address(), compute_compunit_symtab_includes(), 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(), cutu_reader::cutu_reader(), 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_init_complex_target_type(), dwarf2_init_float_type(), dwarf2_init_integer_type(), dwarf2_name(), dwarf2_physname(), dwarf2_ranges_process(), 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(), 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(), 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(), process_full_comp_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_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(), rw_pieced_value(), set_die_type(), dwarf2_cu::start_compunit_symtab(), try_open_dwop_file(), unnamed_template_tag_name(), and var_decode_location().

◆ per_bfd

struct dwarf2_per_bfd* dwarf2_per_objfile::per_bfd

Definition at line 728 of file read.h.

Referenced by add_type_unit(), build_type_psymtabs(), create_addrmap_from_aranges(), create_addrmap_from_gdb_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(), determine_prefix(), dwarf2_gdb_index::dump(), cooked_index_functions::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_debug_names_index::expand_matching_symbols(), dwarf2_gdb_index::expand_matching_symbols(), cooked_index_functions::expand_matching_symbols(), dwarf2_debug_names_index::expand_symtabs_matching(), dwarf2_gdb_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(), lookup_die_type(), lookup_dwo_file_slot(), lookup_dwo_signatured_type(), lookup_dwp_signatured_type(), cooked_index_functions::lookup_global_symbol_language(), 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_line_string(), read_stub_str_index(), read_variable(), save_gdb_index_command(), and cooked_indexer::scan_attributes().

◆ queue

gdb::optional<std::queue<dwarf2_queue_item> > dwarf2_per_objfile::queue

◆ sym_cu

dwarf2_cu* dwarf2_per_objfile::sym_cu = nullptr

Definition at line 739 of file read.h.

Referenced by dwarf2_cu::get_builder(), and read_file_scope().


The documentation for this struct was generated from the following files: