GDB (xrefs)
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
debug_names Class Reference

Classes

class  debug_str_lookup
 
class  dwarf
 
class  dwarf_tmpl
 
class  index_key
 
class  index_key_hasher
 
class  offset_vec
 
class  offset_vec_tmpl
 
class  symbol_value
 
class  write_one_signatured_type_data
 

Public Types

enum  unit_kind { unit_kind::cu, unit_kind::tu }
 

Public Member Functions

 debug_names (bool is_dwarf64, bfd_endian dwarf5_byte_order)
 
int dwarf5_offset_size () const
 
void insert (const partial_symbol *psym, int cu_index, bool is_static, unit_kind kind)
 
void build ()
 
uint32_t bucket_count () const
 
uint32_t name_count () const
 
uint32_t abbrev_table_bytes () const
 
void recursively_write_psymbols (struct objfile *objfile, struct partial_symtab *psymtab, std::unordered_set< partial_symbol *> &psyms_seen, int cu_index)
 
size_t bytes () const
 
void file_write (FILE *file_names, FILE *file_str) const
 

Static Public Member Functions

static int write_one_signatured_type (void **slot, void *d)
 

Private Member Functions

void write_psymbols (std::unordered_set< partial_symbol *> &psyms_seen, struct partial_symbol **psymp, int count, int cu_index, bool is_static, unit_kind kind)
 
void write_one_signatured_type (struct signatured_type *entry, struct signatured_type_index_data *info)
 

Static Private Member Functions

static int psymbol_tag (const struct partial_symbol *psym)
 

Private Attributes

std::unordered_map< c_str_view, std::set< symbol_value >, c_str_view_hasherm_name_to_value_set
 
std::vector< uint32_t > m_bucket_table
 
std::vector< uint32_t > m_hash_table
 
const bfd_endian m_dwarf5_byte_order
 
dwarf_tmpl< uint32_t > m_dwarf32
 
dwarf_tmpl< uint64_t > m_dwarf64
 
dwarfm_dwarf
 
offset_vecm_name_table_string_offs
 
offset_vecm_name_table_entry_offs
 
debug_str_lookup m_debugstrlookup
 
std::unordered_map< index_key, int, index_key_hasherm_indexkey_to_idx
 
int m_idx_next = 1
 
data_buf m_abbrev_table
 
data_buf m_entry_pool
 

Detailed Description

Definition at line 26041 of file dwarf2read.c.

Member Enumeration Documentation

◆ unit_kind

Enumerator
cu 
tu 

Definition at line 26062 of file dwarf2read.c.

Constructor & Destructor Documentation

◆ debug_names()

debug_names::debug_names ( bool  is_dwarf64,
bfd_endian  dwarf5_byte_order 
)
inline

Definition at line 26044 of file dwarf2read.c.

Member Function Documentation

◆ abbrev_table_bytes()

uint32_t debug_names::abbrev_table_bytes ( ) const
inline

Definition at line 26204 of file dwarf2read.c.

References data_buf::empty(), gdb_assert, m_abbrev_table, and data_buf::size().

Referenced by write_debug_names().

◆ bucket_count()

uint32_t debug_names::bucket_count ( ) const
inline

Definition at line 26178 of file dwarf2read.c.

References data_buf::empty(), gdb_assert, m_abbrev_table, and m_bucket_table.

Referenced by write_debug_names().

◆ build()

void debug_names::build ( )
inline

◆ bytes()

size_t debug_names::bytes ( ) const
inline

◆ dwarf5_offset_size()

int debug_names::dwarf5_offset_size ( ) const
inline

Definition at line 26055 of file dwarf2read.c.

References m_dwarf, and m_dwarf64.

Referenced by write_debug_names(), and write_one_signatured_type().

◆ file_write()

void debug_names::file_write ( FILE *  file_names,
FILE *  file_str 
) const
inline

◆ insert()

void debug_names::insert ( const partial_symbol psym,
int  cu_index,
bool  is_static,
unit_kind  kind 
)
inline

Definition at line 26065 of file dwarf2read.c.

References m_name_to_value_set, name, psymbol_tag(), and SYMBOL_SEARCH_NAME.

Referenced by write_psymbols().

◆ name_count()

uint32_t debug_names::name_count ( ) const
inline

Definition at line 26191 of file dwarf2read.c.

References data_buf::empty(), gdb_assert, m_abbrev_table, and m_hash_table.

Referenced by build(), and write_debug_names().

◆ psymbol_tag()

static int debug_names::psymbol_tag ( const struct partial_symbol psym)
inlinestaticprivate

◆ recursively_write_psymbols()

void debug_names::recursively_write_psymbols ( struct objfile objfile,
struct partial_symtab psymtab,
std::unordered_set< partial_symbol *> &  psyms_seen,
int  cu_index 
)
inline

◆ write_one_signatured_type() [1/2]

static int debug_names::write_one_signatured_type ( void **  slot,
void *  d 
)
inlinestatic

◆ write_one_signatured_type() [2/2]

void debug_names::write_one_signatured_type ( struct signatured_type entry,
struct signatured_type_index_data info 
)
inlineprivate

◆ write_psymbols()

void debug_names::write_psymbols ( std::unordered_set< partial_symbol *> &  psyms_seen,
struct partial_symbol **  psymp,
int  count,
int  cu_index,
bool  is_static,
unit_kind  kind 
)
inlineprivate

Definition at line 26557 of file dwarf2read.c.

References _, error(), insert(), language_ada, and SYMBOL_LANGUAGE.

Referenced by recursively_write_psymbols(), and write_one_signatured_type().

Member Data Documentation

◆ m_abbrev_table

data_buf debug_names::m_abbrev_table
private

Definition at line 26622 of file dwarf2read.c.

Referenced by abbrev_table_bytes(), bucket_count(), build(), bytes(), file_write(), and name_count().

◆ m_bucket_table

std::vector<uint32_t> debug_names::m_bucket_table
private

Definition at line 26603 of file dwarf2read.c.

Referenced by bucket_count(), build(), bytes(), and file_write().

◆ m_debugstrlookup

debug_str_lookup debug_names::m_debugstrlookup
private

Definition at line 26611 of file dwarf2read.c.

Referenced by build(), and file_write().

◆ m_dwarf

dwarf& debug_names::m_dwarf
private

Definition at line 26609 of file dwarf2read.c.

Referenced by dwarf5_offset_size().

◆ m_dwarf32

dwarf_tmpl<uint32_t> debug_names::m_dwarf32
private

Definition at line 26607 of file dwarf2read.c.

◆ m_dwarf5_byte_order

const bfd_endian debug_names::m_dwarf5_byte_order
private

Definition at line 26606 of file dwarf2read.c.

Referenced by build(), and write_one_signatured_type().

◆ m_dwarf64

dwarf_tmpl<uint64_t> debug_names::m_dwarf64
private

Definition at line 26608 of file dwarf2read.c.

Referenced by dwarf5_offset_size().

◆ m_entry_pool

data_buf debug_names::m_entry_pool
private

Definition at line 26625 of file dwarf2read.c.

Referenced by build(), bytes(), and file_write().

◆ m_hash_table

std::vector<uint32_t> debug_names::m_hash_table
private

Definition at line 26604 of file dwarf2read.c.

Referenced by build(), bytes(), file_write(), and name_count().

◆ m_idx_next

int debug_names::m_idx_next = 1
private

Definition at line 26619 of file dwarf2read.c.

Referenced by build().

◆ m_indexkey_to_idx

std::unordered_map<index_key, int, index_key_hasher> debug_names::m_indexkey_to_idx
private

Definition at line 26615 of file dwarf2read.c.

Referenced by build().

◆ m_name_table_entry_offs

offset_vec & debug_names::m_name_table_entry_offs
private

Definition at line 26610 of file dwarf2read.c.

Referenced by build(), bytes(), and file_write().

◆ m_name_table_string_offs

offset_vec& debug_names::m_name_table_string_offs
private

Definition at line 26610 of file dwarf2read.c.

Referenced by build(), bytes(), and file_write().

◆ m_name_to_value_set

std::unordered_map<c_str_view, std::set<symbol_value>, c_str_view_hasher> debug_names::m_name_to_value_set
private

Definition at line 26599 of file dwarf2read.c.

Referenced by build(), and insert().


The documentation for this class was generated from the following file: