GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Public Types | Public 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
 

Public Types

enum class  unit_kind { cu , tu }
 

Public Member Functions

 debug_names (dwarf2_per_bfd *per_bfd, bool is_dwarf64, bfd_endian dwarf5_byte_order)
 
int dwarf5_offset_size () const
 
void insert (const cooked_index_entry *entry)
 
void build ()
 
uint32_t bucket_count () const
 
uint32_t name_count () const
 
uint32_t abbrev_table_bytes () const
 
size_t bytes () const
 
void file_write (FILE *file_names, FILE *file_str) const
 
void add_cu (dwarf2_per_cu_data *per_cu, offset_type index)
 

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
 
auto_obstack m_string_obstack
 
cu_index_map m_cu_index_htab
 

Detailed Description

Definition at line 522 of file index-write.c.

Member Enumeration Documentation

◆ unit_kind

enum class debug_names::unit_kind
strong
Enumerator
cu 
tu 

Definition at line 545 of file index-write.c.

Constructor & Destructor Documentation

◆ debug_names()

debug_names::debug_names ( dwarf2_per_bfd * per_bfd,
bool is_dwarf64,
bfd_endian dwarf5_byte_order )
inline

Definition at line 525 of file index-write.c.

Member Function Documentation

◆ abbrev_table_bytes()

uint32_t debug_names::abbrev_table_bytes ( ) const
inline

Definition at line 737 of file index-write.c.

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

Referenced by write_debug_names().

◆ add_cu()

void debug_names::add_cu ( dwarf2_per_cu_data * per_cu,
offset_type index )
inline

Definition at line 775 of file index-write.c.

References m_cu_index_htab.

Referenced by write_debug_names().

◆ bucket_count()

uint32_t debug_names::bucket_count ( ) const
inline

Definition at line 711 of file index-write.c.

References data_buf::empty(), 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 538 of file index-write.c.

References m_dwarf, and m_dwarf64.

Referenced by write_debug_names().

◆ file_write()

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

◆ insert()

void debug_names::insert ( const cooked_index_entry * entry)
inline

◆ name_count()

uint32_t debug_names::name_count ( ) const
inline

Definition at line 724 of file index-write.c.

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

Referenced by build(), and write_debug_names().

Member Data Documentation

◆ m_abbrev_table

data_buf debug_names::m_abbrev_table
private

Definition at line 1034 of file index-write.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 1015 of file index-write.c.

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

◆ m_cu_index_htab

cu_index_map debug_names::m_cu_index_htab
private

Definition at line 1042 of file index-write.c.

Referenced by add_cu(), and insert().

◆ m_debugstrlookup

debug_str_lookup debug_names::m_debugstrlookup
private

Definition at line 1023 of file index-write.c.

Referenced by build(), and file_write().

◆ m_dwarf

dwarf& debug_names::m_dwarf
private

Definition at line 1021 of file index-write.c.

Referenced by dwarf5_offset_size().

◆ m_dwarf32

dwarf_tmpl<uint32_t> debug_names::m_dwarf32
private

Definition at line 1019 of file index-write.c.

◆ m_dwarf5_byte_order

const bfd_endian debug_names::m_dwarf5_byte_order
private

Definition at line 1018 of file index-write.c.

Referenced by build().

◆ m_dwarf64

dwarf_tmpl<uint64_t> debug_names::m_dwarf64
private

Definition at line 1020 of file index-write.c.

Referenced by dwarf5_offset_size().

◆ m_entry_pool

data_buf debug_names::m_entry_pool
private

Definition at line 1037 of file index-write.c.

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

◆ m_hash_table

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

Definition at line 1016 of file index-write.c.

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

◆ m_idx_next

int debug_names::m_idx_next = 1
private

Definition at line 1031 of file index-write.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 1027 of file index-write.c.

Referenced by build().

◆ m_name_table_entry_offs

offset_vec & debug_names::m_name_table_entry_offs
private

Definition at line 1022 of file index-write.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 1022 of file index-write.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 1011 of file index-write.c.

Referenced by build(), and insert().

◆ m_string_obstack

auto_obstack debug_names::m_string_obstack
private

Definition at line 1040 of file index-write.c.

Referenced by insert().


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