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

#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_symtabstart_compunit_symtab (const char *name, const char *comp_dir, CORE_ADDR low_pc)
 
void reset_builder ()
 
struct typeaddr_type () const
 
struct typeaddr_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_compunitget_builder ()
 

Public Attributes

struct comp_unit_head header
 
gdb::optional< unrelocated_addr > base_address
 
const struct language_defnlanguage_defn = nullptr
 
const char * producer = nullptr
 
struct pending ** list_in_scope = nullptr
 
htab_t partial_dies = nullptr
 
auto_obstack comp_unit_obstack
 
struct dwarf2_per_cu_dataper_cu
 
dwarf2_per_objfileper_objfile
 
int last_used = 0
 
htab_t die_hash = nullptr
 
struct die_infodies = nullptr
 
struct line_headerline_header = nullptr
 
die_infoline_header_die_owner = nullptr
 
std::vector< delayed_method_infomethod_list
 
htab_t call_site_htab = nullptr
 
struct dwo_unitdwo_unit = nullptr
 
gdb::optional< ULONGEST > addr_base
 
ULONGEST gnu_ranges_base = 0
 
ULONGEST rnglists_base = 0
 
ULONGEST loclist_base = 0
 
std::vector< struct type * > rust_unions
 
gdb::optional< ULONGEST > str_offsets_base
 
bool m_mark: 1
 
bool has_loclist: 1
 
bool checked_producer: 1
 
bool producer_is_gxx_lt_4_6: 1
 
bool producer_is_gcc_lt_4_3: 1
 
bool producer_is_gcc_11: 1
 
bool producer_is_icc: 1
 
bool producer_is_icc_lt_14: 1
 
bool producer_is_codewarrior: 1
 
bool producer_is_clang: 1
 
bool processing_has_namespace_info: 1
 
bool load_all_dies: 1
 

Private Attributes

std::unique_ptr< buildsym_compunitm_builder
 
htab_t m_dependencies = nullptr
 

Detailed Description

Definition at line 49 of file cu.h.

Constructor & Destructor Documentation

◆ dwarf2_cu()

dwarf2_cu::dwarf2_cu ( dwarf2_per_cu_data * per_cu,
dwarf2_per_objfile * per_objfile )
explicit

Definition at line 29 of file cu.c.

Member Function Documentation

◆ add_dependence()

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().

◆ addr_sized_int_type()

struct type * dwarf2_cu::addr_sized_int_type ( bool unsigned_p) const

◆ addr_type()

struct type * dwarf2_cu::addr_type ( ) const

◆ clear_mark()

void dwarf2_cu::clear_mark ( )
inline

Definition at line 86 of file cu.h.

References m_mark.

◆ DISABLE_COPY_AND_ASSIGN()

dwarf2_cu::DISABLE_COPY_AND_ASSIGN ( dwarf2_cu )

◆ get_builder()

buildsym_compunit * dwarf2_cu::get_builder ( )

◆ is_marked()

bool dwarf2_cu::is_marked ( ) const
inline

Definition at line 92 of file cu.h.

References m_mark.

Referenced by dwarf2_per_objfile::age_comp_units().

◆ lang()

enum language dwarf2_cu::lang ( ) const
inline

◆ mark()

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().

◆ reset_builder()

void dwarf2_cu::reset_builder ( )
inline

Definition at line 70 of file cu.h.

References m_builder.

Referenced by process_full_comp_unit(), and process_full_type_unit().

◆ setup_type_unit_groups()

void dwarf2_cu::setup_type_unit_groups ( struct die_info * die)

◆ start_compunit_symtab()

struct compunit_symtab * dwarf2_cu::start_compunit_symtab ( const char * name,
const char * comp_dir,
CORE_ADDR low_pc )

Member Data Documentation

◆ addr_base

gdb::optional<ULONGEST> dwarf2_cu::addr_base

◆ base_address

gdb::optional<unrelocated_addr> dwarf2_cu::base_address

◆ call_site_htab

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().

◆ checked_producer

bool dwarf2_cu::checked_producer

◆ comp_unit_obstack

auto_obstack dwarf2_cu::comp_unit_obstack

◆ die_hash

htab_t dwarf2_cu::die_hash = nullptr

◆ dies

struct die_info* dwarf2_cu::dies = nullptr

◆ dwo_unit

struct dwo_unit* dwarf2_cu::dwo_unit = nullptr

◆ gnu_ranges_base

ULONGEST dwarf2_cu::gnu_ranges_base = 0

◆ has_loclist

bool dwarf2_cu::has_loclist

Definition at line 254 of file cu.h.

Referenced by process_full_comp_unit(), and var_decode_location().

◆ header

struct comp_unit_head dwarf2_cu::header

◆ language_defn

const struct language_defn* dwarf2_cu::language_defn = nullptr

◆ last_used

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().

◆ line_header

struct line_header* dwarf2_cu::line_header = nullptr

◆ line_header_die_owner

die_info* dwarf2_cu::line_header_die_owner = nullptr

◆ list_in_scope

struct pending** dwarf2_cu::list_in_scope = nullptr

◆ load_all_dies

bool dwarf2_cu::load_all_dies

Definition at line 279 of file cu.h.

◆ loclist_base

ULONGEST dwarf2_cu::loclist_base = 0

Definition at line 231 of file cu.h.

Referenced by lookup_loclist_base(), and read_toplevel_die().

◆ m_builder

std::unique_ptr<buildsym_compunit> dwarf2_cu::m_builder
private

Definition at line 120 of file cu.h.

Referenced by get_builder(), reset_builder(), setup_type_unit_groups(), and start_compunit_symtab().

◆ m_dependencies

htab_t dwarf2_cu::m_dependencies = nullptr
private

Definition at line 125 of file cu.h.

Referenced by add_dependence(), and mark().

◆ m_mark

bool dwarf2_cu::m_mark

Definition at line 248 of file cu.h.

Referenced by clear_mark(), is_marked(), and mark().

◆ method_list

std::vector<delayed_method_info> dwarf2_cu::method_list

◆ partial_dies

htab_t dwarf2_cu::partial_dies = nullptr

Definition at line 141 of file cu.h.

◆ per_cu

struct dwarf2_per_cu_data* dwarf2_cu::per_cu

◆ per_objfile

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().

◆ processing_has_namespace_info

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().

◆ producer

const char* dwarf2_cu::producer = nullptr

◆ producer_is_clang

bool dwarf2_cu::producer_is_clang

Definition at line 267 of file cu.h.

Referenced by check_producer(), and producer_is_clang().

◆ producer_is_codewarrior

bool dwarf2_cu::producer_is_codewarrior

Definition at line 266 of file cu.h.

Referenced by check_producer(), and producer_is_codewarrior().

◆ producer_is_gcc_11

bool dwarf2_cu::producer_is_gcc_11

Definition at line 263 of file cu.h.

Referenced by check_producer(), and handle_member_location().

◆ producer_is_gcc_lt_4_3

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().

◆ producer_is_gxx_lt_4_6

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().

◆ producer_is_icc

bool dwarf2_cu::producer_is_icc

Definition at line 264 of file cu.h.

Referenced by check_producer(), and producer_is_icc().

◆ producer_is_icc_lt_14

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().

◆ rnglists_base

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().

◆ rust_unions

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().

◆ str_offsets_base

gdb::optional<ULONGEST> dwarf2_cu::str_offsets_base

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