GDB (xrefs)
Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/dwarf2read.c File Reference
#include "defs.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "objfiles.h"
#include "dwarf2.h"
#include "buildsym.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "expression.h"
#include "filenames.h"
#include "macrotab.h"
#include "language.h"
#include "complaints.h"
#include "bcache.h"
#include "dwarf2expr.h"
#include "dwarf2loc.h"
#include "cp-support.h"
#include "hashtab.h"
#include "command.h"
#include "gdbcmd.h"
#include "block.h"
#include "addrmap.h"
#include "typeprint.h"
#include "psympriv.h"
#include <sys/stat.h>
#include "completer.h"
#include "vec.h"
#include "c-lang.h"
#include "go-lang.h"
#include "valprint.h"
#include "gdbcore.h"
#include "gdb/gdb-index.h"
#include <ctype.h>
#include "gdb_bfd.h"
#include "f-lang.h"
#include "source.h"
#include "filestuff.h"
#include "build-id.h"
#include "namespace.h"
#include "common/gdb_unlinker.h"
#include "common/function-view.h"
#include "common/gdb_optional.h"
#include "common/underlying.h"
#include "common/byte-vector.h"
#include "common/hash_enum.h"
#include "filename-seen-cache.h"
#include "producer.h"
#include <fcntl.h>
#include <sys/types.h>
#include <algorithm>
#include <unordered_set>
#include <unordered_map>
#include "selftest.h"
#include <cmath>
#include <set>
#include <forward_list>

Go to the source code of this file.

Classes

struct  dwarf2_section_info
 
struct  name_component
 
struct  mapped_index_base
 
struct  mapped_index
 
struct  mapped_index::symbol_table_slot
 
struct  mapped_debug_names
 
struct  mapped_debug_names::index_val
 
struct  mapped_debug_names::index_val::attr
 
struct  tu_stats
 
struct  dwarf2_per_objfile
 
struct  dwarf2_per_objfile::tu_stats
 
struct  dwop_section_names
 
struct  comp_unit_head
 
struct  delayed_method_info
 
struct  dwarf2_cu
 
struct  dwarf2_per_cu_data
 
struct  signatured_type
 
struct  stmt_list_hash
 
struct  type_unit_group
 
struct  dwo_sections
 
struct  dwo_unit
 
struct  dwo_file
 
struct  dwp_sections
 
struct  virtual_v1_dwo_sections
 
struct  virtual_v2_dwo_sections
 
struct  dwp_hash_table
 
struct  dwp_file
 
struct  dwz_file
 
struct  die_reader_specs
 
struct  file_entry
 
struct  line_header
 
struct  partial_die_info
 
struct  abbrev_info
 
struct  attr_abbrev
 
struct  abbrev_table
 
struct  attribute
 
struct  die_info
 
struct  dwarf_block
 
struct  nextfield
 
struct  nextfnfield
 
struct  fnfieldlist
 
struct  decl_field_list
 
struct  field_info
 
struct  dwarf2_queue_item
 
struct  file_and_directory
 
struct  quick_file_names
 
struct  dwarf2_per_cu_quick_data
 
struct  dw2_symtab_iterator
 
class  gdb_index_symbol_name_matcher
 
class  dw2_debug_names_iterator
 
struct  process_psymtab_comp_unit_data
 
struct  tu_abbrev_offset
 
class  process_die_scope
 
struct  create_dwo_cu_data
 
struct  dwarf2_read_addr_index_data
 
class  lnp_state_machine
 
struct  dwarf2_per_cu_offset_and_type
 
class  data_buf
 
struct  symtab_index_entry
 
struct  mapped_symtab
 
class  c_str_view
 
class  c_str_view_hasher
 
class  vector_hasher< T >
 
struct  addrmap_index_data
 
struct  signatured_type_index_data
 
class  debug_names
 
class  debug_names::write_one_signatured_type_data
 
class  debug_names::debug_str_lookup
 
class  debug_names::index_key
 
class  debug_names::index_key_hasher
 
class  debug_names::symbol_value
 
class  debug_names::offset_vec
 
class  debug_names::offset_vec_tmpl< OffsetSize >
 
class  debug_names::dwarf
 
class  debug_names::dwarf_tmpl< OffsetSize >
 

Macros

#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value)
 
#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value)
 
#define DW2_GDB_INDEX_CU_SET_VALUE(cu_index, value)
 
#define MAYBE_SWAP(V)   static_cast<offset_type> (V)
 
#define IS_TYPE_UNIT_GROUP(per_cu)   ((per_cu)->section == NULL)
 
#define MAX_NR_V2_DWO_SECTIONS
 
#define ABBREV_HASH_SIZE   121
 
#define DW_STRING(attr)   ((attr)->u.str)
 
#define DW_STRING_IS_CANONICAL(attr)   ((attr)->string_is_canonical)
 
#define DW_UNSND(attr)   ((attr)->u.unsnd)
 
#define DW_BLOCK(attr)   ((attr)->u.blk)
 
#define DW_SND(attr)   ((attr)->u.snd)
 
#define DW_ADDR(attr)   ((attr)->u.addr)
 
#define DW_SIGNATURE(attr)   ((attr)->u.signature)
 
#define ATTR_ALLOC_CHUNK   4
 
#define DW_FIELD_ALLOC_CHUNK   4
 
#define INDEX4_SUFFIX   ".gdb-index"
 
#define INDEX5_SUFFIX   ".debug_names"
 
#define DEBUG_STR_SUFFIX   ".debug_str"
 
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)
 
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10
 
#define MAX_NESTED_IMPORTED_DECLARATIONS   100
 
#define MAX_NR_V1_DWO_SECTIONS
 
#define MAX_SEP_LEN   7 /* strlen ("__") + strlen ("_MOD_") */
 
#define X(n)
 

Typedefs

typedef struct symbolsymbolp
 
typedef struct dwarf2_section_info dwarf2_section_info_def
 
typedef uint32_t offset_type
 
typedef struct dwarf2_per_cu_datadwarf2_per_cu_ptr
 
typedef struct delayed_method_info delayed_method_info
 
typedef struct signatured_typesig_type_ptr
 
typedef void() die_reader_func_ftype(const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
typedef std::unique_ptr< line_headerline_header_up
 
typedef std::unordered_map< partial_symtab *, unsigned int > psym_index_map
 

Enumerations

enum  dwp_v2_section_ids { DW_SECT_MIN = 1 }
 
enum  dir_index : unsigned int
 
enum  file_name_index : unsigned int
 
enum  pc_bounds_kind { PC_BOUNDS_NOT_PRESENT, PC_BOUNDS_INVALID, PC_BOUNDS_RANGES, PC_BOUNDS_HIGH_LOW }
 
enum  rcuh_kind { rcuh_kind::COMPILE, rcuh_kind::TYPE }
 

Functions

 DEF_VEC_P (symbolp)
 
 DEF_VEC_O (dwarf2_section_info_def)
 
 DEF_VEC_I (offset_type)
 
 DEF_VEC_P (dwarf2_per_cu_ptr)
 
 DEF_VEC_O (delayed_method_info)
 
 DEF_VEC_P (sig_type_ptr)
 
static void show_dwarf_max_cache_age (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static const char * get_section_name (const struct dwarf2_section_info *)
 
static const char * get_section_file_name (const struct dwarf2_section_info *)
 
static void dwarf2_find_base_address (struct die_info *die, struct dwarf2_cu *cu)
 
static struct partial_symtabcreate_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
 
static void build_type_psymtabs_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *type_unit_die, int has_children, void *data)
 
static void dwarf2_build_psymtabs_hard (struct objfile *)
 
static void scan_partial_symbols (struct partial_die_info *, CORE_ADDR *, CORE_ADDR *, int, struct dwarf2_cu *)
 
static void add_partial_symbol (struct partial_die_info *, struct dwarf2_cu *)
 
static void add_partial_namespace (struct partial_die_info *pdi, CORE_ADDR *lowpc, CORE_ADDR *highpc, int set_addrmap, struct dwarf2_cu *cu)
 
static void add_partial_module (struct partial_die_info *pdi, CORE_ADDR *lowpc, CORE_ADDR *highpc, int set_addrmap, struct dwarf2_cu *cu)
 
static void add_partial_enumeration (struct partial_die_info *enum_pdi, struct dwarf2_cu *cu)
 
static void add_partial_subprogram (struct partial_die_info *pdi, CORE_ADDR *lowpc, CORE_ADDR *highpc, int need_pc, struct dwarf2_cu *cu)
 
static void dwarf2_read_symtab (struct partial_symtab *, struct objfile *)
 
static void psymtab_to_symtab_1 (struct partial_symtab *)
 
static struct abbrev_infoabbrev_table_lookup_abbrev (const struct abbrev_table *, unsigned int)
 
static struct abbrev_tableabbrev_table_read_table (struct dwarf2_section_info *, sect_offset)
 
static void abbrev_table_free (struct abbrev_table *)
 
static void abbrev_table_free_cleanup (void *)
 
static void dwarf2_read_abbrevs (struct dwarf2_cu *, struct dwarf2_section_info *)
 
static void dwarf2_free_abbrev_table (void *)
 
static unsigned int peek_abbrev_code (bfd *, const gdb_byte *)
 
static struct partial_die_infoload_partial_dies (const struct die_reader_specs *, const gdb_byte *, int)
 
static const gdb_byteread_partial_die (const struct die_reader_specs *, struct partial_die_info *, struct abbrev_info *, unsigned int, const gdb_byte *)
 
static struct partial_die_infofind_partial_die (sect_offset, int, struct dwarf2_cu *)
 
static void fixup_partial_die (struct partial_die_info *, struct dwarf2_cu *)
 
static const gdb_byteread_attribute (const struct die_reader_specs *, struct attribute *, struct attr_abbrev *, const gdb_byte *)
 
static unsigned int read_1_byte (bfd *, const gdb_byte *)
 
static int read_1_signed_byte (bfd *, const gdb_byte *)
 
static unsigned int read_2_bytes (bfd *, const gdb_byte *)
 
static unsigned int read_4_bytes (bfd *, const gdb_byte *)
 
static ULONGEST read_8_bytes (bfd *, const gdb_byte *)
 
static CORE_ADDR read_address (bfd *, const gdb_byte *ptr, struct dwarf2_cu *, unsigned int *)
 
static LONGEST read_initial_length (bfd *, const gdb_byte *, unsigned int *)
 
static LONGEST read_checked_initial_length_and_offset (bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *, unsigned int *)
 
static LONGEST read_offset (bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *)
 
static LONGEST read_offset_1 (bfd *, const gdb_byte *, unsigned int)
 
static sect_offset read_abbrev_offset (struct dwarf2_section_info *, sect_offset)
 
static const gdb_byteread_n_bytes (bfd *, const gdb_byte *, unsigned int)
 
static const char * read_direct_string (bfd *, const gdb_byte *, unsigned int *)
 
static const char * read_indirect_string (bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *)
 
static const char * read_indirect_line_string (bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *)
 
static const char * read_indirect_string_at_offset (bfd *abfd, LONGEST str_offset)
 
static const char * read_indirect_string_from_dwz (struct dwz_file *, LONGEST)
 
static LONGEST read_signed_leb128 (bfd *, const gdb_byte *, unsigned int *)
 
static CORE_ADDR read_addr_index_from_leb128 (struct dwarf2_cu *, const gdb_byte *, unsigned int *)
 
static const char * read_str_index (const struct die_reader_specs *reader, ULONGEST str_index)
 
static void set_cu_language (unsigned int, struct dwarf2_cu *)
 
static struct attributedwarf2_attr (struct die_info *, unsigned int, struct dwarf2_cu *)
 
static struct attributedwarf2_attr_no_follow (struct die_info *, unsigned int)
 
static const char * dwarf2_string_attr (struct die_info *die, unsigned int name, struct dwarf2_cu *cu)
 
static int dwarf2_flag_true_p (struct die_info *die, unsigned name, struct dwarf2_cu *cu)
 
static int die_is_declaration (struct die_info *, struct dwarf2_cu *cu)
 
static struct die_infodie_specification (struct die_info *die, struct dwarf2_cu **)
 
static line_header_up dwarf_decode_line_header (sect_offset sect_off, struct dwarf2_cu *cu)
 
static void dwarf_decode_lines (struct line_header *, const char *, struct dwarf2_cu *, struct partial_symtab *, CORE_ADDR, int decode_mapping)
 
static void dwarf2_start_subfile (const char *, const char *)
 
static struct compunit_symtabdwarf2_start_symtab (struct dwarf2_cu *, const char *, const char *, CORE_ADDR)
 
static struct symbolnew_symbol (struct die_info *, struct type *, struct dwarf2_cu *)
 
static struct symbolnew_symbol_full (struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *)
 
static void dwarf2_const_value (const struct attribute *, struct symbol *, struct dwarf2_cu *)
 
static void dwarf2_const_value_attr (const struct attribute *attr, struct type *type, const char *name, struct obstack *obstack, struct dwarf2_cu *cu, LONGEST *value, const gdb_byte **bytes, struct dwarf2_locexpr_baton **baton)
 
static struct typedie_type (struct die_info *, struct dwarf2_cu *)
 
static int need_gnat_info (struct dwarf2_cu *)
 
static struct typedie_descriptive_type (struct die_info *, struct dwarf2_cu *)
 
static void set_descriptive_type (struct type *, struct die_info *, struct dwarf2_cu *)
 
static struct typedie_containing_type (struct die_info *, struct dwarf2_cu *)
 
static struct typelookup_die_type (struct die_info *, const struct attribute *, struct dwarf2_cu *)
 
static struct typeread_type_die (struct die_info *, struct dwarf2_cu *)
 
static struct typeread_type_die_1 (struct die_info *, struct dwarf2_cu *)
 
static const char * determine_prefix (struct die_info *die, struct dwarf2_cu *)
 
static char * typename_concat (struct obstack *obs, const char *prefix, const char *suffix, int physname, struct dwarf2_cu *cu)
 
static void read_file_scope (struct die_info *, struct dwarf2_cu *)
 
static void read_type_unit_scope (struct die_info *, struct dwarf2_cu *)
 
static void read_func_scope (struct die_info *, struct dwarf2_cu *)
 
static void read_lexical_block_scope (struct die_info *, struct dwarf2_cu *)
 
static void read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
 
static void read_variable (struct die_info *die, struct dwarf2_cu *cu)
 
static int dwarf2_ranges_read (unsigned, CORE_ADDR *, CORE_ADDR *, struct dwarf2_cu *, struct partial_symtab *)
 
static enum pc_bounds_kind dwarf2_get_pc_bounds (struct die_info *, CORE_ADDR *, CORE_ADDR *, struct dwarf2_cu *, struct partial_symtab *)
 
static void get_scope_pc_bounds (struct die_info *, CORE_ADDR *, CORE_ADDR *, struct dwarf2_cu *)
 
static void dwarf2_record_block_ranges (struct die_info *, struct block *, CORE_ADDR, struct dwarf2_cu *)
 
static void dwarf2_add_field (struct field_info *, struct die_info *, struct dwarf2_cu *)
 
static void dwarf2_attach_fields_to_type (struct field_info *, struct type *, struct dwarf2_cu *)
 
static void dwarf2_add_member_fn (struct field_info *, struct die_info *, struct type *, struct dwarf2_cu *)
 
static void dwarf2_attach_fn_fields_to_type (struct field_info *, struct type *, struct dwarf2_cu *)
 
static void process_structure_scope (struct die_info *, struct dwarf2_cu *)
 
static void read_common_block (struct die_info *, struct dwarf2_cu *)
 
static void read_namespace (struct die_info *die, struct dwarf2_cu *)
 
static void read_module (struct die_info *die, struct dwarf2_cu *cu)
 
static struct using_direct ** using_directives (enum language)
 
static void read_import_statement (struct die_info *die, struct dwarf2_cu *)
 
static int read_namespace_alias (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_module_type (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * namespace_name (struct die_info *die, int *is_anonymous, struct dwarf2_cu *)
 
static void process_enumeration_scope (struct die_info *, struct dwarf2_cu *)
 
static CORE_ADDR decode_locdesc (struct dwarf_block *, struct dwarf2_cu *)
 
static enum dwarf_array_dim_ordering read_array_order (struct die_info *, struct dwarf2_cu *)
 
static struct die_inforead_die_and_siblings_1 (const struct die_reader_specs *, const gdb_byte *, const gdb_byte **, struct die_info *)
 
static struct die_inforead_die_and_siblings (const struct die_reader_specs *, const gdb_byte *info_ptr, const gdb_byte **new_info_ptr, struct die_info *parent)
 
static const gdb_byteread_full_die_1 (const struct die_reader_specs *, struct die_info **, const gdb_byte *, int *, int)
 
static const gdb_byteread_full_die (const struct die_reader_specs *, struct die_info **, const gdb_byte *, int *)
 
static void process_die (struct die_info *, struct dwarf2_cu *)
 
static const char * dwarf2_canonicalize_name (const char *, struct dwarf2_cu *, struct obstack *)
 
static const char * dwarf2_name (struct die_info *die, struct dwarf2_cu *)
 
static const char * dwarf2_full_name (const char *name, struct die_info *die, struct dwarf2_cu *cu)
 
static const char * dwarf2_physname (const char *name, struct die_info *die, struct dwarf2_cu *cu)
 
static struct die_infodwarf2_extension (struct die_info *die, struct dwarf2_cu **)
 
static const char * dwarf_tag_name (unsigned int)
 
static const char * dwarf_attr_name (unsigned int)
 
static const char * dwarf_form_name (unsigned int)
 
static const char * dwarf_bool_name (unsigned int)
 
static const char * dwarf_type_encoding_name (unsigned int)
 
static struct die_infosibling_die (struct die_info *)
 
static void dump_die_shallow (struct ui_file *, int indent, struct die_info *)
 
static void dump_die_for_error (struct die_info *)
 
static void dump_die_1 (struct ui_file *, int level, int max_level, struct die_info *)
 
void dump_die (struct die_info *, int max_level)
 
static void store_in_ref_table (struct die_info *, struct dwarf2_cu *)
 
static sect_offset dwarf2_get_ref_die_offset (const struct attribute *)
 
static LONGEST dwarf2_get_attr_constant_value (const struct attribute *, int)
 
static struct die_infofollow_die_ref_or_sig (struct die_info *, const struct attribute *, struct dwarf2_cu **)
 
static struct die_infofollow_die_ref (struct die_info *, const struct attribute *, struct dwarf2_cu **)
 
static struct die_infofollow_die_sig (struct die_info *, const struct attribute *, struct dwarf2_cu **)
 
static struct typeget_signatured_type (struct die_info *, ULONGEST, struct dwarf2_cu *)
 
static struct typeget_DW_AT_signature_type (struct die_info *, const struct attribute *, struct dwarf2_cu *)
 
static void load_full_type_unit (struct dwarf2_per_cu_data *per_cu)
 
static void read_signatured_type (struct signatured_type *)
 
static int attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, struct dwarf2_cu *cu, struct dynamic_prop *prop)
 
static struct dwarf_blockdwarf_alloc_block (struct dwarf2_cu *)
 
static struct die_infodwarf_alloc_die (struct dwarf2_cu *, int)
 
static void dwarf_decode_macros (struct dwarf2_cu *, unsigned int, int)
 
static int attr_form_is_block (const struct attribute *)
 
static int attr_form_is_section_offset (const struct attribute *)
 
static int attr_form_is_constant (const struct attribute *)
 
static int attr_form_is_ref (const struct attribute *)
 
static void fill_in_loclist_baton (struct dwarf2_cu *cu, struct dwarf2_loclist_baton *baton, const struct attribute *attr)
 
static void dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym, struct dwarf2_cu *cu, int is_block)
 
static const gdb_byteskip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct abbrev_info *abbrev)
 
static void free_stack_comp_unit (void *)
 
static hashval_t partial_die_hash (const void *item)
 
static int partial_die_eq (const void *item_lhs, const void *item_rhs)
 
static struct dwarf2_per_cu_datadwarf2_find_containing_comp_unit (sect_offset sect_off, unsigned int offset_in_dwz, struct objfile *objfile)
 
static void init_one_comp_unit (struct dwarf2_cu *cu, struct dwarf2_per_cu_data *per_cu)
 
static void prepare_one_comp_unit (struct dwarf2_cu *cu, struct die_info *comp_unit_die, enum language pretend_language)
 
static void free_heap_comp_unit (void *)
 
static void free_cached_comp_units (void *)
 
static void age_cached_comp_units (void)
 
static void free_one_cached_comp_unit (struct dwarf2_per_cu_data *)
 
static struct typeset_die_type (struct die_info *, struct type *, struct dwarf2_cu *)
 
static void create_all_comp_units (struct objfile *)
 
static int create_all_type_units (struct objfile *)
 
static void load_full_comp_unit (struct dwarf2_per_cu_data *, enum language)
 
static void process_full_comp_unit (struct dwarf2_per_cu_data *, enum language)
 
static void process_full_type_unit (struct dwarf2_per_cu_data *, enum language)
 
static void dwarf2_add_dependence (struct dwarf2_cu *, struct dwarf2_per_cu_data *)
 
static void dwarf2_mark (struct dwarf2_cu *)
 
static void dwarf2_clear_marks (struct dwarf2_per_cu_data *)
 
static struct typeget_die_type_at_offset (sect_offset, struct dwarf2_per_cu_data *)
 
static struct typeget_die_type (struct die_info *die, struct dwarf2_cu *cu)
 
static void dwarf2_release_queue (void *dummy)
 
static void queue_comp_unit (struct dwarf2_per_cu_data *per_cu, enum language pretend_language)
 
static void process_queue (void)
 
static file_and_directory find_file_and_directory (struct die_info *die, struct dwarf2_cu *cu)
 
static char * file_full_name (int file, struct line_header *lh, const char *comp_dir)
 
static const gdb_byteread_and_check_comp_unit_head (struct comp_unit_head *header, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section, const gdb_byte *info_ptr, rcuh_kind section_kind)
 
static void init_cutu_and_read_dies (struct dwarf2_per_cu_data *this_cu, struct abbrev_table *abbrev_table, int use_existing_cu, int keep, die_reader_func_ftype *die_reader_func, void *data)
 
static void init_cutu_and_read_dies_simple (struct dwarf2_per_cu_data *this_cu, die_reader_func_ftype *die_reader_func, void *data)
 
static htab_t allocate_signatured_type_table (struct objfile *objfile)
 
static htab_t allocate_dwo_unit_table (struct objfile *objfile)
 
static struct dwo_unitlookup_dwo_unit_in_dwp (struct dwp_file *dwp_file, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static struct dwp_fileget_dwp_file (void)
 
static struct dwo_unitlookup_dwo_comp_unit (struct dwarf2_per_cu_data *, const char *, const char *, ULONGEST)
 
static struct dwo_unitlookup_dwo_type_unit (struct signatured_type *, const char *, const char *)
 
static void queue_and_load_all_dwo_tus (struct dwarf2_per_cu_data *)
 
static void free_dwo_file_cleanup (void *)
 
static void process_cu_includes (void)
 
static void check_producer (struct dwarf2_cu *cu)
 
static void free_line_header_voidp (void *arg)
 
static void dwarf2_statement_list_fits_in_line_number_section_complaint (void)
 
static void dwarf2_debug_line_missing_file_complaint (void)
 
static void dwarf2_debug_line_missing_end_sequence_complaint (void)
 
static void dwarf2_complex_location_expr_complaint (void)
 
static void dwarf2_const_value_length_mismatch_complaint (const char *arg1, int arg2, int arg3)
 
static void dwarf2_section_buffer_overflow_complaint (struct dwarf2_section_info *section)
 
static void dwarf2_macro_malformed_definition_complaint (const char *arg1)
 
static void dwarf2_invalid_attrib_class_complaint (const char *arg1, const char *arg2)
 
static hashval_t line_header_hash (const struct line_header *ofs)
 
static hashval_t line_header_hash_voidp (const void *item)
 
static int line_header_eq_voidp (const void *item_lhs, const void *item_rhs)
 
static CORE_ADDR attr_value_as_address (struct attribute *attr)
 
int dwarf2_has_info (struct objfile *objfile, const struct dwarf2_debug_sections *names)
 
static struct dwarf2_section_infoget_containing_section (const struct dwarf2_section_info *section)
 
static struct bfd * get_section_bfd_owner (const struct dwarf2_section_info *section)
 
static asection * get_section_bfd_section (const struct dwarf2_section_info *section)
 
static int get_section_id (const struct dwarf2_section_info *section)
 
static int get_section_flags (const struct dwarf2_section_info *section)
 
static int section_is_p (const char *section_name, const struct dwarf2_section_names *names)
 
static int dwarf2_section_empty_p (const struct dwarf2_section_info *section)
 
static void dwarf2_read_section (struct objfile *objfile, struct dwarf2_section_info *info)
 
static bfd_size_type dwarf2_section_size (struct objfile *objfile, struct dwarf2_section_info *info)
 
void dwarf2_get_section_info (struct objfile *objfile, enum dwarf2_section_enum sect, asection **sectp, const gdb_byte **bufp, bfd_size_type *sizep)
 
static void locate_dwz_sections (bfd *abfd, asection *sectp, void *arg)
 
static struct dwz_filedwarf2_get_dwz_file (void)
 
static hashval_t hash_stmt_list_entry (const struct stmt_list_hash *stmt_list_hash)
 
static int eq_stmt_list_entry (const struct stmt_list_hash *lhs, const struct stmt_list_hash *rhs)
 
static hashval_t hash_file_name_entry (const void *e)
 
static int eq_file_name_entry (const void *a, const void *b)
 
static void delete_file_name_entry (void *e)
 
static htab_t create_quick_file_names_table (unsigned int nr_initial_entries)
 
static void load_cu (struct dwarf2_per_cu_data *per_cu)
 
static void dw2_do_instantiate_symtab (struct dwarf2_per_cu_data *per_cu)
 
static struct compunit_symtabdw2_instantiate_symtab (struct dwarf2_per_cu_data *per_cu)
 
static struct dwarf2_per_cu_datadw2_get_cutu (int index)
 
static struct dwarf2_per_cu_datadw2_get_cu (int index)
 
static dwarf2_per_cu_datacreate_cu_from_index_list (struct objfile *objfile, struct dwarf2_section_info *section, int is_dwz, sect_offset sect_off, ULONGEST length)
 
static void create_cus_from_index_list (struct objfile *objfile, const gdb_byte *cu_list, offset_type n_elements, struct dwarf2_section_info *section, int is_dwz, int base_offset)
 
static void create_cus_from_index (struct objfile *objfile, const gdb_byte *cu_list, offset_type cu_list_elements, const gdb_byte *dwz_list, offset_type dwz_elements)
 
static void create_signatured_type_table_from_index (struct objfile *objfile, struct dwarf2_section_info *section, const gdb_byte *bytes, offset_type elements)
 
static void create_signatured_type_table_from_debug_names (struct objfile *objfile, const mapped_debug_names &map, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section)
 
static void create_addrmap_from_index (struct objfile *objfile, struct mapped_index *index)
 
static void create_addrmap_from_aranges (struct objfile *objfile, struct dwarf2_section_info *section)
 
static hashval_t mapped_index_string_hash (int index_version, const void *p)
 
static bool find_slot_in_mapped_hash (struct mapped_index *index, const char *name, offset_type **vec_out)
 
static int read_index_from_section (struct objfile *objfile, const char *filename, int deprecated_ok, struct dwarf2_section_info *section, struct mapped_index *map, const gdb_byte **cu_list, offset_type *cu_list_elements, const gdb_byte **types_list, offset_type *types_list_elements)
 
static int dwarf2_read_index (struct objfile *objfile)
 
static void dw2_setup (struct objfile *objfile)
 
static void dw2_get_file_names_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
static struct quick_file_namesdw2_get_file_names (struct dwarf2_per_cu_data *this_cu)
 
static const char * dw2_get_real_path (struct objfile *objfile, struct quick_file_names *qfn, int index)
 
static struct symtabdw2_find_last_source_symtab (struct objfile *objfile)
 
static int dw2_free_cached_file_names (void **slot, void *info)
 
static void dw2_forget_cached_source_info (struct objfile *objfile)
 
static int dw2_map_expand_apply (struct objfile *objfile, struct dwarf2_per_cu_data *per_cu, const char *name, const char *real_path, gdb::function_view< bool(symtab *)> callback)
 
static bool dw2_map_symtabs_matching_filename (struct objfile *objfile, const char *name, const char *real_path, gdb::function_view< bool(symtab *)> callback)
 
static void dw2_symtab_iter_init (struct dw2_symtab_iterator *iter, struct mapped_index *index, int want_specific_block, int block_index, domain_enum domain, const char *name)
 
static struct dwarf2_per_cu_datadw2_symtab_iter_next (struct dw2_symtab_iterator *iter)
 
static struct compunit_symtabdw2_lookup_symbol (struct objfile *objfile, int block_index, const char *name, domain_enum domain)
 
static void dw2_print_stats (struct objfile *objfile)
 
static void dw2_dump (struct objfile *objfile)
 
static void dw2_relocate (struct objfile *objfile, const struct section_offsets *new_offsets, const struct section_offsets *delta)
 
static void dw2_expand_symtabs_for_function (struct objfile *objfile, const char *func_name)
 
static void dw2_expand_all_symtabs (struct objfile *objfile)
 
static void dw2_expand_symtabs_with_fullname (struct objfile *objfile, const char *fullname)
 
static void dw2_map_matching_symbols (struct objfile *objfile, const char *name, domain_enum domain, int global, int(*callback)(struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, symbol_compare_ftype *ordered_compare)
 
static std::string make_sort_after_prefix_name (const char *search_name)
 
static void dw2_expand_symtabs_matching_symbol (mapped_index_base &index, const lookup_name_info &lookup_name_in, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, enum search_domain kind, gdb::function_view< void(offset_type)> match_callback)
 
static void dw2_expand_symtabs_matching_one (struct dwarf2_per_cu_data *per_cu, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify)
 
static void dw2_expand_marked_cus (mapped_index &index, offset_type idx, struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, search_domain kind)
 
static void dw_expand_symtabs_matching_file_matcher (gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher)
 
static void dw2_expand_symtabs_matching (struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info &lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, enum search_domain kind)
 
static struct compunit_symtabrecursively_find_pc_sect_compunit_symtab (struct compunit_symtab *cust, CORE_ADDR pc)
 
static struct compunit_symtabdw2_find_pc_sect_compunit_symtab (struct objfile *objfile, struct bound_minimal_symbol msymbol, CORE_ADDR pc, struct obj_section *section, int warn_if_readin)
 
static void dw2_map_symbol_filenames (struct objfile *objfile, symbol_filename_ftype *fun, void *data, int need_fullname)
 
static int dw2_has_symbols (struct objfile *objfile)
 
static bool read_debug_names_from_section (struct objfile *objfile, const char *filename, struct dwarf2_section_info *section, mapped_debug_names &map)
 
static void create_cus_from_debug_names_list (struct objfile *objfile, const mapped_debug_names &map, dwarf2_section_info &section, bool is_dwz, int base_offset)
 
static void create_cus_from_debug_names (struct objfile *objfile, const mapped_debug_names &map, const mapped_debug_names &dwz_map)
 
static bool dwarf2_read_debug_names (struct objfile *objfile)
 
static uint32_t dwarf5_djb_hash (const char *str_)
 
static struct compunit_symtabdw2_debug_names_lookup_symbol (struct objfile *objfile, int block_index_int, const char *name, domain_enum domain)
 
static void dw2_debug_names_dump (struct objfile *objfile)
 
static void dw2_debug_names_expand_symtabs_for_function (struct objfile *objfile, const char *func_name)
 
static void dw2_debug_names_expand_symtabs_matching (struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info &lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, enum search_domain kind)
 
bool dwarf2_initialize_objfile (struct objfile *objfile, dw_index_kind *index_kind)
 
void dwarf2_build_psymtabs (struct objfile *objfile)
 
static unsigned int get_cu_length (const struct comp_unit_head *header)
 
static bool offset_in_cu_p (const comp_unit_head *cu_header, sect_offset sect_off)
 
static const gdb_byteread_comp_unit_head (struct comp_unit_head *cu_header, const gdb_byte *info_ptr, struct dwarf2_section_info *section, rcuh_kind section_kind)
 
static struct dwarf2_section_infoget_abbrev_section_for_cu (struct dwarf2_per_cu_data *this_cu)
 
static void error_check_comp_unit_head (struct comp_unit_head *header, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section)
 
static void dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst, struct objfile *objfile)
 
static void dwarf2_build_include_psymtabs (struct dwarf2_cu *cu, struct die_info *die, struct partial_symtab *pst)
 
static hashval_t hash_signatured_type (const void *item)
 
static int eq_signatured_type (const void *item_lhs, const void *item_rhs)
 
static int add_signatured_type_cu_to_table (void **slot, void *datum)
 
static void create_debug_type_hash_table (struct dwo_file *dwo_file, dwarf2_section_info *section, htab_t &types_htab, rcuh_kind section_kind)
 
static void create_debug_types_hash_table (struct dwo_file *dwo_file, VEC(dwarf2_section_info_def) *types, htab_t &types_htab)
 
static struct signatured_typeadd_type_unit (ULONGEST sig, void **slot)
 
static void fill_in_sig_entry_from_dwo_entry (struct objfile *objfile, struct signatured_type *sig_entry, struct dwo_unit *dwo_entry)
 
static struct signatured_typelookup_dwo_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 
static struct signatured_typelookup_dwp_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 
static struct signatured_typelookup_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
 
static void init_cu_die_reader (struct die_reader_specs *reader, struct dwarf2_cu *cu, struct dwarf2_section_info *section, struct dwo_file *dwo_file)
 
static int read_cutu_die_from_dwo (struct dwarf2_per_cu_data *this_cu, struct dwo_unit *dwo_unit, int abbrev_table_provided, struct die_info *stub_comp_unit_die, const char *stub_comp_dir, struct die_reader_specs *result_reader, const gdb_byte **result_info_ptr, struct die_info **result_comp_unit_die, int *result_has_children)
 
static struct dwo_unitlookup_dwo_unit (struct dwarf2_per_cu_data *this_cu, struct die_info *comp_unit_die)
 
static void init_tu_and_read_dwo_dies (struct dwarf2_per_cu_data *this_cu, int use_existing_cu, int keep, die_reader_func_ftype *die_reader_func, void *data)
 
static void init_cutu_and_read_dies_no_follow (struct dwarf2_per_cu_data *this_cu, struct dwo_file *dwo_file, die_reader_func_ftype *die_reader_func, void *data)
 
static hashval_t hash_type_unit_group (const void *item)
 
static int eq_type_unit_group (const void *item_lhs, const void *item_rhs)
 
static htab_t allocate_type_unit_groups_table (void)
 
static struct type_unit_groupcreate_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
 
static struct type_unit_groupget_type_unit_group (struct dwarf2_cu *cu, const struct attribute *stmt_list)
 
static void process_psymtab_comp_unit_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
static void process_psymtab_comp_unit (struct dwarf2_per_cu_data *this_cu, int want_partial_unit, enum language pretend_language)
 
static int sort_tu_by_abbrev_offset (const void *ap, const void *bp)
 
static void build_type_psymtabs_1 (void)
 
static void print_tu_stats (void)
 
static int build_type_psymtab_dependencies (void **slot, void *info)
 
static void build_type_psymtabs (struct objfile *objfile)
 
static int process_skeletonless_type_unit (void **slot, void *info)
 
static int process_dwo_file_for_skeletonless_type_units (void **slot, void *info)
 
static void process_skeletonless_type_units (struct objfile *objfile)
 
static void set_partial_user (struct objfile *objfile)
 
static void load_partial_comp_unit_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
static void load_partial_comp_unit (struct dwarf2_per_cu_data *this_cu)
 
static void read_comp_units_from_section (struct objfile *objfile, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section, unsigned int is_dwz, int *n_allocated, int *n_comp_units, struct dwarf2_per_cu_data ***all_comp_units)
 
static const char * partial_die_parent_scope (struct partial_die_info *pdi, struct dwarf2_cu *cu)
 
static char * partial_die_full_name (struct partial_die_info *pdi, struct dwarf2_cu *cu)
 
static struct abbrev_infopeek_die_abbrev (const gdb_byte *info_ptr, unsigned int *bytes_read, struct dwarf2_cu *cu)
 
static const gdb_byteskip_children (const struct die_reader_specs *reader, const gdb_byte *info_ptr)
 
static const gdb_bytelocate_pdi_sibling (const struct die_reader_specs *reader, struct partial_die_info *orig_pdi, const gdb_byte *info_ptr)
 
static int maybe_queue_comp_unit (struct dwarf2_cu *dependent_cu, struct dwarf2_per_cu_data *per_cu, enum language pretend_language)
 
static hashval_t die_hash (const void *item)
 
static int die_eq (const void *item_lhs, const void *item_rhs)
 
static void load_full_comp_unit_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
static void add_to_method_list (struct type *type, int fnfield_index, int index, const char *name, struct die_info *die, struct dwarf2_cu *cu)
 
static void free_delayed_list (void *ptr)
 
template<size_t N>
static bool check_modifier (const char *physname, size_t &len, const char(&mod)[N])
 
static void compute_delayed_physnames (struct dwarf2_cu *cu)
 
static void fixup_go_packaging (struct dwarf2_cu *cu)
 
static struct compunit_symtabget_compunit_symtab (struct dwarf2_per_cu_data *per_cu)
 
static void recursively_compute_inclusions (VEC(compunit_symtab_ptr) **result, htab_t all_children, htab_t all_type_symtabs, struct dwarf2_per_cu_data *per_cu, struct compunit_symtab *immediate_parent)
 
static void compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu)
 
static void process_imported_unit_die (struct die_info *die, struct dwarf2_cu *cu)
 
static int die_needs_namespace (struct die_info *die, struct dwarf2_cu *cu)
 
static struct attributedw2_linkage_name_attr (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * dw2_linkage_name (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * dwarf2_compute_name (const char *name, struct die_info *die, struct dwarf2_cu *cu, int physname)
 
static int producer_is_icc_lt_14 (struct dwarf2_cu *cu)
 
static int producer_is_gcc_lt_4_3 (struct dwarf2_cu *cu)
 
static void handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu, const char *comp_dir, CORE_ADDR lowpc)
 
static void setup_type_unit_groups (struct die_info *die, struct dwarf2_cu *cu)
 
static hashval_t hash_dwo_file (const void *item)
 
static int eq_dwo_file (const void *item_lhs, const void *item_rhs)
 
static htab_t allocate_dwo_file_hash_table (void)
 
static void ** lookup_dwo_file_slot (const char *dwo_name, const char *comp_dir)
 
static hashval_t hash_dwo_unit (const void *item)
 
static int eq_dwo_unit (const void *item_lhs, const void *item_rhs)
 
static void create_dwo_cu_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *datap)
 
static void create_cus_hash_table (struct dwo_file &dwo_file, dwarf2_section_info &section, htab_t &cus_htab)
 
static struct dwp_hash_tablecreate_dwp_hash_table (struct dwp_file *dwp_file, int is_debug_types)
 
static int locate_v1_virtual_dwo_sections (asection *sectp, struct virtual_v1_dwo_sections *sections)
 
static struct dwo_unitcreate_dwo_unit_in_dwp_v1 (struct dwp_file *dwp_file, uint32_t unit_index, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static struct dwarf2_section_info create_dwp_v2_section (struct dwarf2_section_info *section, bfd_size_type offset, bfd_size_type size)
 
static struct dwo_unitcreate_dwo_unit_in_dwp_v2 (struct dwp_file *dwp_file, uint32_t unit_index, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static gdb_bfd_ref_ptr try_open_dwop_file (const char *file_name, int is_dwp, int search_cwd)
 
static gdb_bfd_ref_ptr open_dwo_file (const char *file_name, const char *comp_dir)
 
static void dwarf2_locate_dwo_sections (bfd *abfd, asection *sectp, void *dwo_sections_ptr)
 
static struct dwo_fileopen_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu, const char *dwo_name, const char *comp_dir)
 
static void dwarf2_locate_common_dwp_sections (bfd *abfd, asection *sectp, void *dwp_file_ptr)
 
static void dwarf2_locate_v2_dwp_sections (bfd *abfd, asection *sectp, void *dwp_file_ptr)
 
static hashval_t hash_dwp_loaded_cutus (const void *item)
 
static int eq_dwp_loaded_cutus (const void *a, const void *b)
 
static htab_t allocate_dwp_loaded_cutus_table (struct objfile *objfile)
 
static gdb_bfd_ref_ptr open_dwp_file (const char *file_name)
 
static struct dwp_fileopen_and_init_dwp_file (void)
 
static struct dwo_unitlookup_dwo_cutu (struct dwarf2_per_cu_data *this_unit, const char *dwo_name, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static int queue_and_load_dwo_tu (void **slot, void *info)
 
static void free_dwo_file (struct dwo_file *dwo_file, struct objfile *objfile)
 
static int free_dwo_file_from_slot (void **slot, void *info)
 
static void free_dwo_files (htab_t dwo_files, struct objfile *objfile)
 
static void inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typerust_containing_type (struct die_info *die, struct dwarf2_cu *cu)
 
template<typename Callback >
static bool dwarf2_rnglists_process (unsigned offset, struct dwarf2_cu *cu, Callback &&callback)
 
template<typename Callback >
static int dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu, Callback &&callback)
 
static void dwarf2_get_subprogram_pc_bounds (struct die_info *die, CORE_ADDR *lowpc, CORE_ADDR *highpc, struct dwarf2_cu *cu)
 
static int producer_is_gxx_lt_4_6 (struct dwarf2_cu *cu)
 
static enum dwarf_access_attribute dwarf2_default_access_attribute (struct die_info *die, struct dwarf2_cu *cu)
 
static int handle_data_member_location (struct die_info *die, struct dwarf2_cu *cu, LONGEST *offset)
 
static bool type_can_define_types (const struct die_info *die)
 
static void dwarf2_add_type_defn (struct field_info *fip, struct die_info *die, struct dwarf2_cu *cu)
 
static int dwarf2_is_constructor (struct die_info *die, struct dwarf2_cu *cu)
 
static int is_vtable_name (const char *name, struct dwarf2_cu *cu)
 
static void quirk_gcc_member_function_pointer (struct type *type, struct objfile *objfile)
 
static struct typeread_structure_type (struct die_info *die, struct dwarf2_cu *cu)
 
static void update_enumeration_type_from_children (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
 
static struct typeread_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_array_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_set_type (struct die_info *die, struct dwarf2_cu *cu)
 
static void mark_common_block_symbol_computed (struct symbol *sym, struct die_info *common_die, struct attribute *common_loc, struct attribute *member_loc, struct dwarf2_cu *cu)
 
static struct typeread_namespace_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_ptr_to_member_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_reference_type (struct die_info *die, struct dwarf2_cu *cu, enum type_code refcode)
 
static struct typeadd_array_cv_type (struct die_info *die, struct dwarf2_cu *cu, struct type *base_type, int cnst, int voltl)
 
static struct typeread_tag_const_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_volatile_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_restrict_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_atomic_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
 
static int prototyped_function_p (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_typedef (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typedwarf2_init_float_type (struct objfile *objfile, int bits, const char *name, const char *name_hint)
 
static struct typeread_base_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typeread_unspecified_type (struct die_info *die, struct dwarf2_cu *cu)
 
static struct die_inforead_die_and_children (const struct die_reader_specs *reader, const gdb_byte *info_ptr, const gdb_byte **new_info_ptr, struct die_info *parent)
 
static struct abbrev_infoabbrev_table_alloc_abbrev (struct abbrev_table *abbrev_table)
 
static void abbrev_table_add_abbrev (struct abbrev_table *abbrev_table, unsigned int abbrev_number, struct abbrev_info *abbrev)
 
static int is_type_tag_for_partial (int tag)
 
static struct partial_die_infofind_partial_die_in_comp_unit (sect_offset sect_off, struct dwarf2_cu *cu)
 
static void guess_partial_die_structure_name (struct partial_die_info *struct_pdi, struct dwarf2_cu *cu)
 
static const gdb_byteread_attribute_value (const struct die_reader_specs *reader, struct attribute *attr, unsigned form, LONGEST implicit_const, const gdb_byte *info_ptr)
 
static int read_2_signed_bytes (bfd *abfd, const gdb_byte *buf)
 
static int read_4_signed_bytes (bfd *abfd, const gdb_byte *buf)
 
static const char * read_indirect_string_at_offset_from (bfd *abfd, LONGEST str_offset, struct dwarf2_section_info *sect, const char *form_name, const char *sect_name)
 
static const char * read_indirect_line_string_at_offset (bfd *abfd, LONGEST str_offset)
 
ULONGEST read_unsigned_leb128 (bfd *abfd, const gdb_byte *buf, unsigned int *bytes_read_ptr)
 
static CORE_ADDR read_addr_index_1 (unsigned int addr_index, ULONGEST addr_base, int addr_size)
 
static CORE_ADDR read_addr_index (struct dwarf2_cu *cu, unsigned int addr_index)
 
static void dwarf2_read_addr_index_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
CORE_ADDR dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu, unsigned int addr_index)
 
static int leb128_size (const gdb_byte *buf)
 
static struct dwarf2_section_infoget_debug_line_section (struct dwarf2_cu *cu)
 
static void read_formatted_entries (bfd *abfd, const gdb_byte **bufp, struct line_header *lh, const struct comp_unit_head *cu_header, void(*callback)(struct line_header *lh, const char *name, dir_index d_index, unsigned int mod_time, unsigned int length))
 
static const char * psymtab_include_file_name (const struct line_header *lh, int file_index, const struct partial_symtab *pst, const char *comp_dir)
 
static void noop_record_line (struct subfile *subfile, int line, CORE_ADDR pc)
 
static int dwarf_record_line_p (unsigned int line, unsigned int last_line, int line_has_non_zero_discriminator, struct subfile *last_subfile)
 
static void dwarf_record_line_1 (struct gdbarch *gdbarch, struct subfile *subfile, unsigned int line, CORE_ADDR address, record_line_ftype p_record_line)
 
static void dwarf_finish_line (struct gdbarch *gdbarch, struct subfile *subfile, CORE_ADDR address, record_line_ftype p_record_line)
 
static void dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu, const int decode_for_pst_p, CORE_ADDR lowpc)
 
static void var_decode_location (struct attribute *attr, struct symbol *sym, struct dwarf2_cu *cu)
 
static gdb_bytedwarf2_const_value_data (const struct attribute *attr, struct obstack *obstack, struct dwarf2_cu *cu, LONGEST *value, int bits)
 
static struct typebuild_error_marker_type (struct dwarf2_cu *cu, struct die_info *die)
 
static char * guess_full_die_structure_name (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * anonymous_struct_prefix (struct die_info *die, struct dwarf2_cu *cu)
 
static struct die_infofollow_die_offset (sect_offset sect_off, int offset_in_dwz, struct dwarf2_cu **ref_cu)
 
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off (sect_offset sect_off, struct dwarf2_per_cu_data *per_cu, CORE_ADDR(*get_frame_pc)(void *baton), void *baton)
 
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off (cu_offset offset_in_cu, struct dwarf2_per_cu_data *per_cu, CORE_ADDR(*get_frame_pc)(void *baton), void *baton)
 
static const gdb_bytewrite_constant_as_bytes (struct obstack *obstack, enum bfd_endian byte_order, struct type *type, ULONGEST value, LONGEST *len)
 
const gdb_bytedwarf2_fetch_constant_bytes (sect_offset sect_off, struct dwarf2_per_cu_data *per_cu, struct obstack *obstack, LONGEST *len)
 
struct typedwarf2_fetch_die_type_sect_off (sect_offset sect_off, struct dwarf2_per_cu_data *per_cu)
 
struct typedwarf2_get_die_type (cu_offset die_offset, struct dwarf2_per_cu_data *per_cu)
 
static struct die_infofollow_die_sig_1 (struct die_info *src_die, struct signatured_type *sig_type, struct dwarf2_cu **ref_cu)
 
static void read_signatured_type_reader (const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)
 
static char * file_file_name (int file, struct line_header *lh)
 
static struct macro_source_filemacro_start_file (int file, int line, struct macro_source_file *current_file, struct line_header *lh)
 
static const char * consume_improper_spaces (const char *p, const char *body)
 
static void parse_macro_definition (struct macro_source_file *file, int line, const char *body)
 
static const gdb_byteskip_form_bytes (bfd *abfd, const gdb_byte *bytes, const gdb_byte *buffer_end, enum dwarf_form form, unsigned int offset_size, struct dwarf2_section_info *section)
 
static const gdb_byteskip_unknown_opcode (unsigned int opcode, const gdb_byte **opcode_definitions, const gdb_byte *mac_ptr, const gdb_byte *mac_end, bfd *abfd, unsigned int offset_size, struct dwarf2_section_info *section)
 
static const gdb_bytedwarf_parse_macro_header (const gdb_byte **opcode_definitions, bfd *abfd, const gdb_byte *mac_ptr, unsigned int *offset_size, int section_is_gnu)
 
static void dwarf_decode_macro_bytes (bfd *abfd, const gdb_byte *mac_ptr, const gdb_byte *mac_end, struct macro_source_file *current_file, struct line_header *lh, struct dwarf2_section_info *section, int section_is_gnu, int section_is_dwz, unsigned int offset_size, htab_t include_hash)
 
static struct dwarf2_section_infocu_debug_loc_section (struct dwarf2_cu *cu)
 
struct objfiledwarf2_per_cu_objfile (struct dwarf2_per_cu_data *per_cu)
 
static const struct comp_unit_headper_cu_header_read_in (struct comp_unit_head *cu_headerp, struct dwarf2_per_cu_data *per_cu)
 
int dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *per_cu)
 
int dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
 
int dwarf2_per_cu_ref_addr_size (struct dwarf2_per_cu_data *per_cu)
 
CORE_ADDR dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
 
short dwarf2_version (struct dwarf2_per_cu_data *per_cu)
 
void dwarf2_free_objfile (struct objfile *objfile)
 
static hashval_t per_cu_offset_and_type_hash (const void *item)
 
static int per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs)
 
static int dwarf2_mark_helper (void **slot, void *data)
 
static void set_dwarf_cmd (const char *args, int from_tty)
 
static void show_dwarf_cmd (const char *args, int from_tty)
 
static void dwarf2_per_objfile_free (struct objfile *objfile, void *d)
 
static void file_write (FILE *file, const void *data, size_t size)
 
template<typename Elem , typename Alloc >
static void file_write (FILE *file, const std::vector< Elem, Alloc > &vec)
 
static symtab_index_entryfind_slot (struct mapped_symtab *symtab, const char *name)
 
static void hash_expand (struct mapped_symtab *symtab)
 
static void add_index_entry (struct mapped_symtab *symtab, const char *name, int is_static, gdb_index_symbol_kind kind, offset_type cu_index)
 
static void uniquify_cu_indices (struct mapped_symtab *symtab)
 
static void write_hash_table (mapped_symtab *symtab, data_buf &output, data_buf &cpool)
 
static void add_address_entry (struct objfile *objfile, data_buf &addr_vec, CORE_ADDR start, CORE_ADDR end, unsigned int cu_index)
 
static int add_address_entry_worker (void *datap, CORE_ADDR start_addr, void *obj)
 
static void write_address_map (struct objfile *objfile, data_buf &addr_vec, psym_index_map &cu_index_htab)
 
static gdb_index_symbol_kind symbol_kind (struct partial_symbol *psym)
 
static void write_psymbols (struct mapped_symtab *symtab, std::unordered_set< partial_symbol *> &psyms_seen, struct partial_symbol **psymp, int count, offset_type cu_index, int is_static)
 
static int write_one_signatured_type (void **slot, void *d)
 
static void recursively_count_psymbols (struct partial_symtab *psymtab, size_t &psyms_seen)
 
static void recursively_write_psymbols (struct objfile *objfile, struct partial_symtab *psymtab, struct mapped_symtab *symtab, std::unordered_set< partial_symbol *> &psyms_seen, offset_type cu_index)
 
static bool check_dwarf64_offsets ()
 
static size_t psyms_seen_size ()
 
static size_t write_gdbindex (struct objfile *objfile, FILE *out_file)
 
static size_t write_debug_names (struct objfile *objfile, FILE *out_file, FILE *out_file_str)
 
static void assert_file_size (FILE *file, const char *filename, size_t expected_size)
 
static void write_psymtabs_to_index (struct objfile *objfile, const char *dir, dw_index_kind index_kind)
 
static void save_gdb_index_command (const char *arg, int from_tty)
 
static void show_dwarf_always_disassemble (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_check_physname (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
void _initialize_dwarf2_read (void)
 

Variables

static unsigned int dwarf_read_debug = 0
 
static unsigned int dwarf_die_debug = 0
 
static unsigned int dwarf_line_debug = 0
 
static int check_physname = 0
 
static int use_deprecated_index_sections = 0
 
static const struct objfile_data * dwarf2_objfile_data_key
 
static int dwarf2_locexpr_index
 
static int dwarf2_loclist_index
 
static int dwarf2_locexpr_block_index
 
static int dwarf2_loclist_block_index
 
static struct dwarf2_per_objfiledwarf2_per_objfile
 
static const struct dwarf2_debug_sections dwarf2_elf_names
 
static const struct dwop_section_names dwop_section_names
 
static int bits_per_byte = 8
 
static struct dwarf2_queue_itemdwarf2_queue
 
static struct dwarf2_queue_itemdwarf2_queue_tail
 
static int dwarf_max_cache_age = 5
 
const struct quick_symbol_functions dwarf2_gdb_index_functions
 
static const gdb_byte dwarf5_augmentation [] = { 'G', 'D', 'B', 0 }
 
const struct quick_symbol_functions dwarf2_debug_names_functions
 
static struct cmd_list_elementset_dwarf_cmdlist
 
static struct cmd_list_elementshow_dwarf_cmdlist
 
static const gdb_byte dwarf5_gdb_augmentation [] = { 'G', 'D', 'B', 0 }
 
int dwarf_always_disassemble
 

Macro Definition Documentation

◆ ABBREV_HASH_SIZE

#define ABBREV_HASH_SIZE   121

◆ ATTR_ALLOC_CHUNK

#define ATTR_ALLOC_CHUNK   4

Definition at line 1593 of file dwarf2read.c.

Referenced by abbrev_table_read_table().

◆ DEBUG_STR_SUFFIX

#define DEBUG_STR_SUFFIX   ".debug_str"

Definition at line 2370 of file dwarf2read.c.

Referenced by write_psymtabs_to_index().

◆ DW2_GDB_INDEX_CU_SET_VALUE

#define DW2_GDB_INDEX_CU_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
gdb_assert (((value) & ~GDB_INDEX_CU_MASK) == 0); \
GDB_INDEX_CU_SET_VALUE((cu_index), (value)); \
} while (0)
Definition: value.c:169

Definition at line 184 of file dwarf2read.c.

Referenced by add_index_entry().

◆ DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE

#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
gdb_assert ((value) >= GDB_INDEX_SYMBOL_KIND_TYPE \
&& (value) <= GDB_INDEX_SYMBOL_KIND_OTHER); \
GDB_INDEX_SYMBOL_KIND_SET_VALUE((cu_index), (value)); \
} while (0)
Definition: value.c:169

Definition at line 176 of file dwarf2read.c.

Referenced by add_index_entry().

◆ DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE

#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
gdb_assert ((unsigned int) (value) <= 1); \
GDB_INDEX_SYMBOL_STATIC_SET_VALUE((cu_index), (value)); \
} while (0)
Definition: value.c:169

Definition at line 169 of file dwarf2read.c.

Referenced by add_index_entry().

◆ DW_ADDR

#define DW_ADDR (   attr)    ((attr)->u.addr)

◆ DW_BLOCK

#define DW_BLOCK (   attr)    ((attr)->u.blk)

◆ DW_FIELD_ALLOC_CHUNK

#define DW_FIELD_ALLOC_CHUNK   4

Definition at line 1598 of file dwarf2read.c.

Referenced by dwarf2_add_member_fn(), and process_enumeration_scope().

◆ DW_SIGNATURE

#define DW_SIGNATURE (   attr)    ((attr)->u.signature)

◆ DW_SND

#define DW_SND (   attr)    ((attr)->u.snd)

◆ DW_STRING

#define DW_STRING (   attr)    ((attr)->u.str)

◆ DW_STRING_IS_CANONICAL

#define DW_STRING_IS_CANONICAL (   attr)    ((attr)->string_is_canonical)

◆ DW_UNSND

#define DW_UNSND (   attr)    ((attr)->u.unsnd)

◆ INDEX4_SUFFIX

#define INDEX4_SUFFIX   ".gdb-index"

Definition at line 2368 of file dwarf2read.c.

Referenced by write_psymtabs_to_index().

◆ INDEX5_SUFFIX

#define INDEX5_SUFFIX   ".debug_names"

Definition at line 2369 of file dwarf2read.c.

Referenced by write_psymtabs_to_index().

◆ IS_TYPE_UNIT_GROUP

#define IS_TYPE_UNIT_GROUP (   per_cu)    ((per_cu)->section == NULL)

◆ MAX_NESTED_IMPORTED_DECLARATIONS

#define MAX_NESTED_IMPORTED_DECLARATIONS   100

Referenced by read_namespace_alias().

◆ MAX_NR_V1_DWO_SECTIONS

#define MAX_NR_V1_DWO_SECTIONS
Value:
(1 /* .debug_info or .debug_types */ \
+ 1 /* .debug_abbrev */ \
+ 1 /* .debug_line */ \
+ 1 /* .debug_loc */ \
+ 1 /* .debug_str_offsets */ \
+ 1 /* .debug_macro or .debug_macinfo */ \
+ 1 /* trailing zero */)

Referenced by create_dwo_unit_in_dwp_v1().

◆ MAX_NR_V2_DWO_SECTIONS

#define MAX_NR_V2_DWO_SECTIONS
Value:
(1 /* .debug_info or .debug_types */ \
+ 1 /* .debug_abbrev */ \
+ 1 /* .debug_line */ \
+ 1 /* .debug_loc */ \
+ 1 /* .debug_str_offsets */ \
+ 1 /* .debug_macro or .debug_macinfo */)

Definition at line 1153 of file dwarf2read.c.

Referenced by create_dwp_hash_table().

◆ MAX_SEP_LEN

#define MAX_SEP_LEN   7 /* strlen ("__") + strlen ("_MOD_") */

Definition at line 22298 of file dwarf2read.c.

Referenced by typename_concat().

◆ MAYBE_SWAP

#define MAYBE_SWAP (   V)    static_cast<offset_type> (V)

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)

Definition at line 8085 of file dwarf2read.c.

Referenced by create_type_unit_group(), and get_type_unit_group().

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10

Definition at line 8086 of file dwarf2read.c.

Referenced by get_type_unit_group().

◆ X

#define X (   n)
Value:
do \
{ \
if (n < other.n) \
return true; \
if (n > other.n) \
return false; \
} \
while (0)

Referenced by debug_names::symbol_value::operator<().

Typedef Documentation

◆ delayed_method_info

Definition at line 636 of file dwarf2read.c.

◆ die_reader_func_ftype

typedef void() die_reader_func_ftype(const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)

Definition at line 1247 of file dwarf2read.c.

◆ dwarf2_per_cu_ptr

Definition at line 366 of file dwarf2read.c.

◆ dwarf2_section_info_def

Definition at line 159 of file dwarf2read.c.

◆ line_header_up

typedef std::unique_ptr<line_header> line_header_up

Definition at line 1379 of file dwarf2read.c.

◆ offset_type

typedef uint32_t offset_type

Definition at line 164 of file dwarf2read.c.

◆ psym_index_map

typedef std::unordered_map<partial_symtab *, unsigned int> psym_index_map

Definition at line 25785 of file dwarf2read.c.

◆ sig_type_ptr

typedef struct signatured_type* sig_type_ptr

Definition at line 915 of file dwarf2read.c.

◆ symbolp

typedef struct symbol* symbolp

Definition at line 90 of file dwarf2read.c.

Enumeration Type Documentation

◆ dir_index

enum dir_index : unsigned int
strong

Definition at line 1256 of file dwarf2read.c.

◆ dwp_v2_section_ids

Enumerator
DW_SECT_MIN 

Definition at line 1015 of file dwarf2read.c.

◆ file_name_index

enum file_name_index : unsigned int
strong

Definition at line 1259 of file dwarf2read.c.

◆ pc_bounds_kind

Enumerator
PC_BOUNDS_NOT_PRESENT 
PC_BOUNDS_INVALID 
PC_BOUNDS_RANGES 
PC_BOUNDS_HIGH_LOW 

Definition at line 1924 of file dwarf2read.c.

◆ rcuh_kind

enum rcuh_kind
strong
Enumerator
COMPILE 
TYPE 

Definition at line 2196 of file dwarf2read.c.

Function Documentation

◆ _initialize_dwarf2_read()

void _initialize_dwarf2_read ( void  )

◆ abbrev_table_add_abbrev()

static void abbrev_table_add_abbrev ( struct abbrev_table abbrev_table,
unsigned int  abbrev_number,
struct abbrev_info abbrev 
)
static

Definition at line 17930 of file dwarf2read.c.

References ABBREV_HASH_SIZE, abbrev_table::abbrevs, and abbrev_info::next.

Referenced by abbrev_table_read_table().

◆ abbrev_table_alloc_abbrev()

static struct abbrev_info* abbrev_table_alloc_abbrev ( struct abbrev_table abbrev_table)
static

Definition at line 17917 of file dwarf2read.c.

References abbrev_table::abbrev_obstack, and memset().

Referenced by abbrev_table_read_table().

◆ abbrev_table_free()

static void abbrev_table_free ( struct abbrev_table abbrev_table)
static

◆ abbrev_table_free_cleanup()

static void abbrev_table_free_cleanup ( void *  table_ptr)
static

Definition at line 18090 of file dwarf2read.c.

References abbrev_table_free().

Referenced by build_type_psymtabs_1().

◆ abbrev_table_lookup_abbrev()

static struct abbrev_info * abbrev_table_lookup_abbrev ( const struct abbrev_table abbrev_table,
unsigned int  abbrev_number 
)
static

◆ abbrev_table_read_table()

static struct abbrev_table * abbrev_table_read_table ( struct dwarf2_section_info section,
sect_offset  sect_off 
)
static

◆ add_address_entry()

static void add_address_entry ( struct objfile objfile,
data_buf addr_vec,
CORE_ADDR  start,
CORE_ADDR  end,
unsigned int  cu_index 
)
static

◆ add_address_entry_worker()

static int add_address_entry_worker ( void *  datap,
CORE_ADDR  start_addr,
void *  obj 
)
static

◆ add_array_cv_type()

static struct type* add_array_cv_type ( struct die_info die,
struct dwarf2_cu cu,
struct type base_type,
int  cnst,
int  voltl 
)
static

◆ add_index_entry()

static void add_index_entry ( struct mapped_symtab symtab,
const char *  name,
int  is_static,
gdb_index_symbol_kind  kind,
offset_type  cu_index 
)
static

◆ add_partial_enumeration()

static void add_partial_enumeration ( struct partial_die_info enum_pdi,
struct dwarf2_cu cu 
)
static

◆ add_partial_module()

static void add_partial_module ( struct partial_die_info pdi,
CORE_ADDR lowpc,
CORE_ADDR highpc,
int  set_addrmap,
struct dwarf2_cu cu 
)
static

◆ add_partial_namespace()

static void add_partial_namespace ( struct partial_die_info pdi,
CORE_ADDR lowpc,
CORE_ADDR highpc,
int  set_addrmap,
struct dwarf2_cu cu 
)
static

◆ add_partial_subprogram()

static void add_partial_subprogram ( struct partial_die_info pdi,
CORE_ADDR lowpc,
CORE_ADDR highpc,
int  need_pc,
struct dwarf2_cu cu 
)
static

◆ add_partial_symbol()

static void add_partial_symbol ( struct partial_die_info pdi,
struct dwarf2_cu cu 
)
static

◆ add_signatured_type_cu_to_table()

static int add_signatured_type_cu_to_table ( void **  slot,
void *  datum 
)
static

Definition at line 6883 of file dwarf2read.c.

Referenced by create_all_type_units().

◆ add_to_method_list()

static void add_to_method_list ( struct type type,
int  fnfield_index,
int  index,
const char *  name,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ add_type_unit()

static struct signatured_type* add_type_unit ( ULONGEST  sig,
void **  slot 
)
static

◆ age_cached_comp_units()

static void age_cached_comp_units ( void  )
static

◆ allocate_dwo_file_hash_table()

static htab_t allocate_dwo_file_hash_table ( void  )
static

◆ allocate_dwo_unit_table()

static htab_t allocate_dwo_unit_table ( struct objfile objfile)
static

◆ allocate_dwp_loaded_cutus_table()

static htab_t allocate_dwp_loaded_cutus_table ( struct objfile objfile)
static

◆ allocate_signatured_type_table()

static htab_t allocate_signatured_type_table ( struct objfile objfile)
static

◆ allocate_type_unit_groups_table()

static htab_t allocate_type_unit_groups_table ( void  )
static

◆ anonymous_struct_prefix()

static const char* anonymous_struct_prefix ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ assert_file_size()

static void assert_file_size ( FILE *  file,
const char *  filename,
size_t  expected_size 
)
static

Definition at line 26914 of file dwarf2read.c.

References _, error(), partial_symtab::filename, and gdb_assert.

Referenced by write_psymtabs_to_index().

◆ attr_form_is_block()

static int attr_form_is_block ( const struct attribute attr)
static

◆ attr_form_is_constant()

static int attr_form_is_constant ( const struct attribute attr)
static

◆ attr_form_is_ref()

static int attr_form_is_ref ( const struct attribute attr)
static

◆ attr_form_is_section_offset()

static int attr_form_is_section_offset ( const struct attribute attr)
static

◆ attr_to_dynamic_prop()

static int attr_to_dynamic_prop ( const struct attribute attr,
struct die_info die,
struct dwarf2_cu cu,
struct dynamic_prop prop 
)
static

◆ attr_value_as_address()

static CORE_ADDR attr_value_as_address ( struct attribute attr)
static

◆ build_error_marker_type()

static struct type* build_error_marker_type ( struct dwarf2_cu cu,
struct die_info die 
)
static

◆ build_type_psymtab_dependencies()

static int build_type_psymtab_dependencies ( void **  slot,
void *  info 
)
static

◆ build_type_psymtabs()

static void build_type_psymtabs ( struct objfile objfile)
static

Definition at line 8629 of file dwarf2read.c.

References build_type_psymtabs_1(), and create_all_type_units().

Referenced by dwarf2_build_psymtabs_hard().

◆ build_type_psymtabs_1()

static void build_type_psymtabs_1 ( void  )
static

◆ build_type_psymtabs_reader()

static void build_type_psymtabs_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info type_unit_die,
int  has_children,
void *  data 
)
static

◆ check_dwarf64_offsets()

static bool check_dwarf64_offsets ( )
static

Definition at line 26632 of file dwarf2read.c.

References signatured_type::per_cu, dwarf2_per_cu_data::sect_off, and to_underlying().

Referenced by write_debug_names().

◆ check_modifier()

template<size_t N>
static bool check_modifier ( const char *  physname,
size_t &  len,
const char(&)  mod[N] 
)
static

Definition at line 10088 of file dwarf2read.c.

References startswith().

Referenced by compute_delayed_physnames().

◆ check_producer()

static void check_producer ( struct dwarf2_cu cu)
static

◆ compute_compunit_symtab_includes()

static void compute_compunit_symtab_includes ( struct dwarf2_per_cu_data per_cu)
static

◆ compute_delayed_physnames()

static void compute_delayed_physnames ( struct dwarf2_cu cu)
static

◆ consume_improper_spaces()

static const char* consume_improper_spaces ( const char *  p,
const char *  body 
)
static

Definition at line 23807 of file dwarf2read.c.

References _, complaint, and symfile_complaints.

Referenced by parse_macro_definition().

◆ create_addrmap_from_aranges()

static void create_addrmap_from_aranges ( struct objfile objfile,
struct dwarf2_section_info section 
)
static

◆ create_addrmap_from_index()

static void create_addrmap_from_index ( struct objfile objfile,
struct mapped_index index 
)
static

◆ create_all_comp_units()

static void create_all_comp_units ( struct objfile objfile)
static

◆ create_all_type_units()

static int create_all_type_units ( struct objfile objfile)
static

◆ create_cu_from_index_list()

static dwarf2_per_cu_data* create_cu_from_index_list ( struct objfile objfile,
struct dwarf2_section_info section,
int  is_dwz,
sect_offset  sect_off,
ULONGEST  length 
)
static

◆ create_cus_from_debug_names()

static void create_cus_from_debug_names ( struct objfile objfile,
const mapped_debug_names map,
const mapped_debug_names dwz_map 
)
static

◆ create_cus_from_debug_names_list()

static void create_cus_from_debug_names_list ( struct objfile objfile,
const mapped_debug_names map,
dwarf2_section_info section,
bool  is_dwz,
int  base_offset 
)
static

◆ create_cus_from_index()

static void create_cus_from_index ( struct objfile objfile,
const gdb_byte cu_list,
offset_type  cu_list_elements,
const gdb_byte dwz_list,
offset_type  dwz_elements 
)
static

◆ create_cus_from_index_list()

static void create_cus_from_index_list ( struct objfile objfile,
const gdb_byte cu_list,
offset_type  n_elements,
struct dwarf2_section_info section,
int  is_dwz,
int  base_offset 
)
static

◆ create_cus_hash_table()

static void create_cus_hash_table ( struct dwo_file dwo_file,
dwarf2_section_info section,
htab_t &  cus_htab 
)
static

◆ create_debug_type_hash_table()

static void create_debug_type_hash_table ( struct dwo_file dwo_file,
dwarf2_section_info section,
htab_t &  types_htab,
rcuh_kind  section_kind 
)
static

◆ create_debug_types_hash_table()

static void create_debug_types_hash_table ( struct dwo_file dwo_file,
VEC(dwarf2_section_info_def) *  types,
htab_t &  types_htab 
)
static

◆ create_dwo_cu_reader()

static void create_dwo_cu_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  datap 
)
static

◆ create_dwo_unit_in_dwp_v1()

static struct dwo_unit* create_dwo_unit_in_dwp_v1 ( struct dwp_file dwp_file,
uint32_t  unit_index,
const char *  comp_dir,
ULONGEST  signature,
int  is_debug_types 
)
static

◆ create_dwo_unit_in_dwp_v2()

static struct dwo_unit* create_dwo_unit_in_dwp_v2 ( struct dwp_file dwp_file,
uint32_t  unit_index,
const char *  comp_dir,
ULONGEST  signature,
int  is_debug_types 
)
static

Definition at line 12564 of file dwarf2read.c.

References dwo_sections::abbrev, dwp_sections::abbrev, virtual_v2_dwo_sections::abbrev_offset, virtual_v2_dwo_sections::abbrev_size, dwo_file::comp_dir, create_dwp_v2_section(), dwp_file::cus, dwp_file::dbfd, dwarf_read_debug, dwo_unit::dwo_file, dwo_file::dwo_name, fprintf_unfiltered(), gdb_assert, gdb_stdlog, hex_string(), dwp_sections::info, virtual_v2_dwo_sections::info_or_types_offset, virtual_v2_dwo_sections::info_or_types_size, dwo_sections::line, dwp_sections::line, virtual_v2_dwo_sections::line_offset, virtual_v2_dwo_sections::line_size, dwo_sections::loc, dwp_sections::loc, virtual_v2_dwo_sections::loc_offset, virtual_v2_dwo_sections::loc_size, lookup_dwo_file_slot(), dwo_sections::macinfo, dwp_sections::macinfo, virtual_v2_dwo_sections::macinfo_offset, virtual_v2_dwo_sections::macinfo_size, dwo_sections::macro, dwp_sections::macro, virtual_v2_dwo_sections::macro_offset, virtual_v2_dwo_sections::macro_size, memset(), dwp_file::name, dwp_hash_table::nr_columns, OBSTACK_ZALLOC, offset, pulongest(), read_4_bytes(), dwo_unit::section, dwp_hash_table::section_pool, dwo_file::sections, dwp_file::sections, dwo_unit::signature, size, dwo_sections::str, dwp_sections::str, dwo_sections::str_offsets, dwp_sections::str_offsets, virtual_v2_dwo_sections::str_offsets_offset, virtual_v2_dwo_sections::str_offsets_size, string, string_printf(), dwp_file::tus, dwp_sections::types, dwp_hash_table::v2, and dwp_file::version.

Referenced by lookup_dwo_unit_in_dwp().

◆ create_dwp_hash_table()

static struct dwp_hash_table* create_dwp_hash_table ( struct dwp_file dwp_file,
int  is_debug_types 
)
static

◆ create_dwp_v2_section()

static struct dwarf2_section_info create_dwp_v2_section ( struct dwarf2_section_info section,
bfd_size_type  offset,
bfd_size_type  size 
)
static

◆ create_partial_symtab()

static struct partial_symtab * create_partial_symtab ( struct dwarf2_per_cu_data per_cu,
const char *  name 
)
static

◆ create_quick_file_names_table()

static htab_t create_quick_file_names_table ( unsigned int  nr_initial_entries)
static

◆ create_signatured_type_table_from_debug_names()

static void create_signatured_type_table_from_debug_names ( struct objfile objfile,
const mapped_debug_names map,
struct dwarf2_section_info section,
struct dwarf2_section_info abbrev_section 
)
static

◆ create_signatured_type_table_from_index()

static void create_signatured_type_table_from_index ( struct objfile objfile,
struct dwarf2_section_info section,
const gdb_byte bytes,
offset_type  elements 
)
static

◆ create_type_unit_group()

static struct type_unit_group* create_type_unit_group ( struct dwarf2_cu cu,
sect_offset  line_offset_struct 
)
static

◆ cu_debug_loc_section()

static struct dwarf2_section_info* cu_debug_loc_section ( struct dwarf2_cu cu)
static

◆ decode_locdesc()

static CORE_ADDR decode_locdesc ( struct dwarf_block blk,
struct dwarf2_cu cu 
)
static

◆ DEF_VEC_I()

DEF_VEC_I ( offset_type  )

◆ DEF_VEC_O() [1/2]

DEF_VEC_O ( dwarf2_section_info_def  )

◆ DEF_VEC_O() [2/2]

DEF_VEC_O ( delayed_method_info  )

◆ DEF_VEC_P() [1/3]

DEF_VEC_P ( symbolp  )

◆ DEF_VEC_P() [2/3]

DEF_VEC_P ( dwarf2_per_cu_ptr  )

◆ DEF_VEC_P() [3/3]

DEF_VEC_P ( sig_type_ptr  )

◆ delete_file_name_entry()

static void delete_file_name_entry ( void *  e)
static

◆ determine_prefix()

static const char * determine_prefix ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ die_containing_type()

static struct type * die_containing_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ die_descriptive_type()

static struct type * die_descriptive_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 21789 of file dwarf2read.c.

References dwarf2_attr(), and lookup_die_type().

Referenced by set_descriptive_type().

◆ die_eq()

static int die_eq ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 9994 of file dwarf2read.c.

References die_info::sect_off.

Referenced by load_full_comp_unit_reader(), and read_signatured_type_reader().

◆ die_hash()

static hashval_t die_hash ( const void *  item)
static

Definition at line 9983 of file dwarf2read.c.

References die_info::sect_off, and to_underlying().

Referenced by load_full_comp_unit_reader(), and read_signatured_type_reader().

◆ die_is_declaration()

static int die_is_declaration ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ die_needs_namespace()

static int die_needs_namespace ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ die_specification()

static struct die_info * die_specification ( struct die_info die,
struct dwarf2_cu **  spec_cu 
)
static

◆ die_type()

static struct type * die_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dump_die()

void dump_die ( struct die_info die,
int  max_level 
)

Definition at line 22740 of file dwarf2read.c.

References dump_die_1(), and gdb_stdlog.

Referenced by read_cutu_die_from_dwo(), read_die_and_siblings(), and read_full_die().

◆ dump_die_1()

static void dump_die_1 ( struct ui_file f,
int  level,
int  max_level,
struct die_info die 
)
static

◆ dump_die_for_error()

static void dump_die_for_error ( struct die_info die)
static

Definition at line 22697 of file dwarf2read.c.

References dump_die_shallow(), and gdb_stderr.

Referenced by follow_die_ref_or_sig(), and follow_die_sig().

◆ dump_die_shallow()

static void dump_die_shallow ( struct ui_file f,
int  indent,
struct die_info die 
)
static

◆ dw2_debug_names_dump()

static void dw2_debug_names_dump ( struct objfile objfile)
static

◆ dw2_debug_names_expand_symtabs_for_function()

static void dw2_debug_names_expand_symtabs_for_function ( struct objfile objfile,
const char *  func_name 
)
static

◆ dw2_debug_names_expand_symtabs_matching()

static void dw2_debug_names_expand_symtabs_matching ( struct objfile objfile,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher,
const lookup_name_info lookup_name,
gdb::function_view< expand_symtabs_symbol_matcher_ftype symbol_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype expansion_notify,
enum search_domain  kind 
)
static

◆ dw2_debug_names_lookup_symbol()

static struct compunit_symtab* dw2_debug_names_lookup_symbol ( struct objfile objfile,
int  block_index_int,
const char *  name,
domain_enum  domain 
)
static

◆ dw2_do_instantiate_symtab()

static void dw2_do_instantiate_symtab ( struct dwarf2_per_cu_data per_cu)
static

◆ dw2_dump()

static void dw2_dump ( struct objfile objfile)
static

◆ dw2_expand_all_symtabs()

static void dw2_expand_all_symtabs ( struct objfile objfile)
static

Definition at line 4404 of file dwarf2read.c.

References dw2_get_cutu(), dw2_instantiate_symtab(), and dw2_setup().

◆ dw2_expand_marked_cus()

static void dw2_expand_marked_cus ( mapped_index index,
offset_type  idx,
struct objfile objfile,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype expansion_notify,
search_domain  kind 
)
static

◆ dw2_expand_symtabs_for_function()

static void dw2_expand_symtabs_for_function ( struct objfile objfile,
const char *  func_name 
)
static

◆ dw2_expand_symtabs_matching()

static void dw2_expand_symtabs_matching ( struct objfile objfile,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher,
const lookup_name_info lookup_name,
gdb::function_view< expand_symtabs_symbol_matcher_ftype symbol_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype expansion_notify,
enum search_domain  kind 
)
static

◆ dw2_expand_symtabs_matching_one()

static void dw2_expand_symtabs_matching_one ( struct dwarf2_per_cu_data per_cu,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype expansion_notify 
)
static

◆ dw2_expand_symtabs_matching_symbol()

static void dw2_expand_symtabs_matching_symbol ( mapped_index_base index,
const lookup_name_info lookup_name_in,
gdb::function_view< expand_symtabs_symbol_matcher_ftype symbol_matcher,
enum search_domain  kind,
gdb::function_view< void(offset_type)>  match_callback 
)
static

◆ dw2_expand_symtabs_with_fullname()

static void dw2_expand_symtabs_with_fullname ( struct objfile objfile,
const char *  fullname 
)
static

◆ dw2_find_last_source_symtab()

static struct symtab* dw2_find_last_source_symtab ( struct objfile objfile)
static

◆ dw2_find_pc_sect_compunit_symtab()

static struct compunit_symtab* dw2_find_pc_sect_compunit_symtab ( struct objfile objfile,
struct bound_minimal_symbol  msymbol,
CORE_ADDR  pc,
struct obj_section section,
int  warn_if_readin 
)
static

◆ dw2_forget_cached_source_info()

static void dw2_forget_cached_source_info ( struct objfile objfile)
static

◆ dw2_free_cached_file_names()

static int dw2_free_cached_file_names ( void **  slot,
void *  info 
)
static

◆ dw2_get_cu()

static struct dwarf2_per_cu_data* dw2_get_cu ( int  index)
static

◆ dw2_get_cutu()

static struct dwarf2_per_cu_data* dw2_get_cutu ( int  index)
static

◆ dw2_get_file_names()

static struct quick_file_names* dw2_get_file_names ( struct dwarf2_per_cu_data this_cu)
static

◆ dw2_get_file_names_reader()

static void dw2_get_file_names_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ dw2_get_real_path()

static const char* dw2_get_real_path ( struct objfile objfile,
struct quick_file_names qfn,
int  index 
)
static

◆ dw2_has_symbols()

static int dw2_has_symbols ( struct objfile objfile)
static

Definition at line 5610 of file dwarf2read.c.

◆ dw2_instantiate_symtab()

static struct compunit_symtab* dw2_instantiate_symtab ( struct dwarf2_per_cu_data per_cu)
static

◆ dw2_linkage_name()

static const char* dw2_linkage_name ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dw2_linkage_name_attr()

static struct attribute* dw2_linkage_name_attr ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 10777 of file dwarf2read.c.

References dwarf2_attr().

Referenced by anonymous_struct_prefix(), and dwarf2_name().

◆ dw2_lookup_symbol()

static struct compunit_symtab* dw2_lookup_symbol ( struct objfile objfile,
int  block_index,
const char *  name,
domain_enum  domain 
)
static

◆ dw2_map_expand_apply()

static int dw2_map_expand_apply ( struct objfile objfile,
struct dwarf2_per_cu_data per_cu,
const char *  name,
const char *  real_path,
gdb::function_view< bool(symtab *)>  callback 
)
static

◆ dw2_map_matching_symbols()

static void dw2_map_matching_symbols ( struct objfile objfile,
const char *  name,
domain_enum  domain,
int  global,
int(*)(struct block *, struct symbol *, void *)  callback,
void *  data,
symbol_name_match_type  match,
symbol_compare_ftype ordered_compare 
)
static

Definition at line 4460 of file dwarf2read.c.

◆ dw2_map_symbol_filenames()

static void dw2_map_symbol_filenames ( struct objfile objfile,
symbol_filename_ftype fun,
void *  data,
int  need_fullname 
)
static

◆ dw2_map_symtabs_matching_filename()

static bool dw2_map_symtabs_matching_filename ( struct objfile objfile,
const char *  name,
const char *  real_path,
gdb::function_view< bool(symtab *)>  callback 
)
static

◆ dw2_print_stats()

static void dw2_print_stats ( struct objfile objfile)
static

◆ dw2_relocate()

static void dw2_relocate ( struct objfile objfile,
const struct section_offsets new_offsets,
const struct section_offsets delta 
)
static

Definition at line 4371 of file dwarf2read.c.

◆ dw2_setup()

static void dw2_setup ( struct objfile objfile)
static

◆ dw2_symtab_iter_init()

static void dw2_symtab_iter_init ( struct dw2_symtab_iterator iter,
struct mapped_index index,
int  want_specific_block,
int  block_index,
domain_enum  domain,
const char *  name 
)
static

◆ dw2_symtab_iter_next()

static struct dwarf2_per_cu_data* dw2_symtab_iter_next ( struct dw2_symtab_iterator iter)
static

◆ dw_expand_symtabs_matching_file_matcher()

static void dw_expand_symtabs_matching_file_matcher ( gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher)
static

◆ dwarf2_add_dependence()

static void dwarf2_add_dependence ( struct dwarf2_cu cu,
struct dwarf2_per_cu_data ref_per_cu 
)
static

◆ dwarf2_add_field()

static void dwarf2_add_field ( struct field_info fip,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_add_member_fn()

static void dwarf2_add_member_fn ( struct field_info fip,
struct die_info die,
struct type type,
struct dwarf2_cu cu 
)
static

◆ dwarf2_add_type_defn()

static void dwarf2_add_type_defn ( struct field_info fip,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_attach_fields_to_type()

static void dwarf2_attach_fields_to_type ( struct field_info fip,
struct type type,
struct dwarf2_cu cu 
)
static

◆ dwarf2_attach_fn_fields_to_type()

static void dwarf2_attach_fn_fields_to_type ( struct field_info fip,
struct type type,
struct dwarf2_cu cu 
)
static

◆ dwarf2_attr()

static struct attribute * dwarf2_attr ( struct die_info die,
unsigned int  name,
struct dwarf2_cu cu 
)
static

Definition at line 19788 of file dwarf2read.c.

References die_info::attrs, follow_die_ref(), name, attribute::name, and die_info::num_attrs.

Referenced by attr_to_dynamic_prop(), create_dwo_cu_reader(), die_containing_type(), die_descriptive_type(), die_is_declaration(), die_needs_namespace(), die_specification(), die_type(), dw2_get_file_names_reader(), dw2_linkage_name_attr(), dwarf2_add_field(), dwarf2_add_member_fn(), dwarf2_add_type_defn(), dwarf2_build_include_psymtabs(), dwarf2_compute_name(), dwarf2_extension(), dwarf2_fetch_constant_bytes(), dwarf2_fetch_die_loc_sect_off(), dwarf2_find_base_address(), dwarf2_flag_true_p(), dwarf2_get_pc_bounds(), dwarf2_name(), dwarf2_record_block_ranges(), dwarf2_string_attr(), handle_data_member_location(), handle_DW_AT_stmt_list(), inherit_abstract_dies(), init_cutu_and_read_dies(), lookup_dwo_unit(), new_symbol_full(), prepare_one_comp_unit(), process_imported_unit_die(), process_structure_scope(), prototyped_function_p(), read_array_order(), read_array_type(), 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_namespace(), read_namespace_alias(), read_namespace_type(), read_set_type(), read_structure_type(), read_subrange_type(), read_subroutine_type(), read_tag_pointer_type(), read_tag_reference_type(), read_tag_string_type(), rust_containing_type(), set_die_type(), setup_type_unit_groups(), and update_enumeration_type_from_children().

◆ dwarf2_attr_no_follow()

static struct attribute * dwarf2_attr_no_follow ( struct die_info die,
unsigned int  name 
)
static

◆ dwarf2_build_include_psymtabs()

static void dwarf2_build_include_psymtabs ( struct dwarf2_cu cu,
struct die_info die,
struct partial_symtab pst 
)
static

◆ dwarf2_build_psymtabs()

void dwarf2_build_psymtabs ( struct objfile objfile)

◆ dwarf2_build_psymtabs_hard()

static void dwarf2_build_psymtabs_hard ( struct objfile objfile)
static

◆ dwarf2_canonicalize_name()

static const char * dwarf2_canonicalize_name ( const char *  name,
struct dwarf2_cu cu,
struct obstack *  obstack 
)
static

◆ dwarf2_clear_marks()

static void dwarf2_clear_marks ( struct dwarf2_per_cu_data per_cu)
static

Definition at line 25367 of file dwarf2read.c.

References dwarf2_per_cu_data::cu, and dwarf2_cu::read_in_chain.

Referenced by age_cached_comp_units().

◆ dwarf2_complex_location_expr_complaint()

static void dwarf2_complex_location_expr_complaint ( void  )
static

◆ dwarf2_compute_name()

static const char* dwarf2_compute_name ( const char *  name,
struct die_info die,
struct dwarf2_cu cu,
int  physname 
)
static

◆ dwarf2_const_value()

static void dwarf2_const_value ( const struct attribute attr,
struct symbol sym,
struct dwarf2_cu cu 
)
static

◆ dwarf2_const_value_attr()

static void dwarf2_const_value_attr ( const struct attribute attr,
struct type type,
const char *  name,
struct obstack *  obstack,
struct dwarf2_cu cu,
LONGEST value,
const gdb_byte **  bytes,
struct dwarf2_locexpr_baton **  baton 
)
static

◆ dwarf2_const_value_data()

static gdb_byte* dwarf2_const_value_data ( const struct attribute attr,
struct obstack *  obstack,
struct dwarf2_cu cu,
LONGEST value,
int  bits 
)
static

◆ dwarf2_const_value_length_mismatch_complaint()

static void dwarf2_const_value_length_mismatch_complaint ( const char *  arg1,
int  arg2,
int  arg3 
)
static

Definition at line 2270 of file dwarf2read.c.

References _, complaint, and symfile_complaints.

Referenced by dwarf2_const_value_attr().

◆ dwarf2_create_include_psymtab()

static void dwarf2_create_include_psymtab ( const char *  name,
struct partial_symtab pst,
struct objfile objfile 
)
static

◆ dwarf2_debug_line_missing_end_sequence_complaint()

static void dwarf2_debug_line_missing_end_sequence_complaint ( void  )
static

Definition at line 2256 of file dwarf2read.c.

References _, complaint, and symfile_complaints.

Referenced by dwarf_decode_lines_1().

◆ dwarf2_debug_line_missing_file_complaint()

static void dwarf2_debug_line_missing_file_complaint ( void  )
static

◆ dwarf2_default_access_attribute()

static enum dwarf_access_attribute dwarf2_default_access_attribute ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_extension()

static struct die_info * dwarf2_extension ( struct die_info die,
struct dwarf2_cu **  ext_cu 
)
static

Definition at line 22491 of file dwarf2read.c.

References dwarf2_attr(), and follow_die_ref().

Referenced by namespace_name(), and read_namespace_type().

◆ dwarf2_fetch_constant_bytes()

const gdb_byte* dwarf2_fetch_constant_bytes ( sect_offset  sect_off,
struct dwarf2_per_cu_data per_cu,
struct obstack *  obstack,
LONGEST len 
)

◆ dwarf2_fetch_die_loc_cu_off()

struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off ( cu_offset  offset_in_cu,
struct dwarf2_per_cu_data per_cu,
CORE_ADDR(*)(void *baton)  get_frame_pc,
void *  baton 
)

◆ dwarf2_fetch_die_loc_sect_off()

struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off ( sect_offset  sect_off,
struct dwarf2_per_cu_data per_cu,
CORE_ADDR(*)(void *baton)  get_frame_pc,
void *  baton 
)

◆ dwarf2_fetch_die_type_sect_off()

struct type* dwarf2_fetch_die_type_sect_off ( sect_offset  sect_off,
struct dwarf2_per_cu_data per_cu 
)

◆ dwarf2_find_base_address()

static void dwarf2_find_base_address ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_find_containing_comp_unit()

static struct dwarf2_per_cu_data * dwarf2_find_containing_comp_unit ( sect_offset  sect_off,
unsigned int  offset_in_dwz,
struct objfile objfile 
)
static

◆ dwarf2_flag_true_p()

static int dwarf2_flag_true_p ( struct die_info die,
unsigned  name,
struct dwarf2_cu cu 
)
static

◆ dwarf2_free_abbrev_table()

static void dwarf2_free_abbrev_table ( void *  ptr_to_cu)
static

◆ dwarf2_free_objfile()

void dwarf2_free_objfile ( struct objfile objfile)

◆ dwarf2_full_name()

static const char * dwarf2_full_name ( const char *  name,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_get_attr_constant_value()

static LONGEST dwarf2_get_attr_constant_value ( const struct attribute attr,
int  default_value 
)
static

◆ dwarf2_get_die_type()

struct type* dwarf2_get_die_type ( cu_offset  die_offset,
struct dwarf2_per_cu_data per_cu 
)

◆ dwarf2_get_dwz_file()

static struct dwz_file* dwarf2_get_dwz_file ( void  )
static

◆ dwarf2_get_pc_bounds()

static enum pc_bounds_kind dwarf2_get_pc_bounds ( struct die_info die,
CORE_ADDR lowpc,
CORE_ADDR highpc,
struct dwarf2_cu cu,
struct partial_symtab pst 
)
static

◆ dwarf2_get_ref_die_offset()

static sect_offset dwarf2_get_ref_die_offset ( const struct attribute attr)
static

◆ dwarf2_get_section_info()

void dwarf2_get_section_info ( struct objfile objfile,
enum dwarf2_section_enum  sect,
asection **  sectp,
const gdb_byte **  bufp,
bfd_size_type *  sizep 
)

◆ dwarf2_get_subprogram_pc_bounds()

static void dwarf2_get_subprogram_pc_bounds ( struct die_info die,
CORE_ADDR lowpc,
CORE_ADDR highpc,
struct dwarf2_cu cu 
)
static

◆ dwarf2_has_info()

int dwarf2_has_info ( struct objfile objfile,
const struct dwarf2_debug_sections names 
)

◆ dwarf2_init_float_type()

static struct type* dwarf2_init_float_type ( struct objfile objfile,
int  bits,
const char *  name,
const char *  name_hint 
)
static

◆ dwarf2_initialize_objfile()

bool dwarf2_initialize_objfile ( struct objfile objfile,
dw_index_kind index_kind 
)

◆ dwarf2_invalid_attrib_class_complaint()

static void dwarf2_invalid_attrib_class_complaint ( const char *  arg1,
const char *  arg2 
)
static

◆ dwarf2_is_constructor()

static int dwarf2_is_constructor ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 15370 of file dwarf2read.c.

References dwarf2_name(), die_info::parent, and die_info::tag.

Referenced by dwarf2_add_member_fn().

◆ dwarf2_locate_common_dwp_sections()

static void dwarf2_locate_common_dwp_sections ( bfd *  abfd,
asection *  sectp,
void *  dwp_file_ptr 
)
static

◆ dwarf2_locate_dwo_sections()

static void dwarf2_locate_dwo_sections ( bfd *  abfd,
asection *  sectp,
void *  dwo_sections_ptr 
)
static

◆ dwarf2_locate_v2_dwp_sections()

static void dwarf2_locate_v2_dwp_sections ( bfd *  abfd,
asection *  sectp,
void *  dwp_file_ptr 
)
static

◆ dwarf2_macro_malformed_definition_complaint()

static void dwarf2_macro_malformed_definition_complaint ( const char *  arg1)
static

Definition at line 2289 of file dwarf2read.c.

References _, complaint, and symfile_complaints.

Referenced by parse_macro_definition().

◆ dwarf2_mark()

static void dwarf2_mark ( struct dwarf2_cu cu)
static

◆ dwarf2_mark_helper()

static int dwarf2_mark_helper ( void **  slot,
void *  data 
)
static

Definition at line 25331 of file dwarf2read.c.

References dwarf2_per_cu_data::cu, and dwarf2_cu::dependencies.

Referenced by dwarf2_mark().

◆ dwarf2_name()

static const char * dwarf2_name ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_per_cu_addr_size()

int dwarf2_per_cu_addr_size ( struct dwarf2_per_cu_data per_cu)

◆ dwarf2_per_cu_objfile()

struct objfile* dwarf2_per_cu_objfile ( struct dwarf2_per_cu_data per_cu)

◆ dwarf2_per_cu_offset_size()

int dwarf2_per_cu_offset_size ( struct dwarf2_per_cu_data per_cu)

◆ dwarf2_per_cu_ref_addr_size()

int dwarf2_per_cu_ref_addr_size ( struct dwarf2_per_cu_data per_cu)

◆ dwarf2_per_cu_text_offset()

CORE_ADDR dwarf2_per_cu_text_offset ( struct dwarf2_per_cu_data per_cu)

◆ dwarf2_per_objfile_free()

static void dwarf2_per_objfile_free ( struct objfile objfile,
void *  d 
)
static

◆ dwarf2_physname()

static const char * dwarf2_physname ( const char *  name,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ dwarf2_ranges_process()

template<typename Callback >
static int dwarf2_ranges_process ( unsigned  offset,
struct dwarf2_cu cu,
Callback &&  callback 
)
static

◆ dwarf2_ranges_read()

static int dwarf2_ranges_read ( unsigned  offset,
CORE_ADDR low_return,
CORE_ADDR high_return,
struct dwarf2_cu cu,
struct partial_symtab ranges_pst 
)
static

◆ dwarf2_read_abbrevs()

static void dwarf2_read_abbrevs ( struct dwarf2_cu cu,
struct dwarf2_section_info abbrev_section 
)
static

◆ dwarf2_read_addr_index()

CORE_ADDR dwarf2_read_addr_index ( struct dwarf2_per_cu_data per_cu,
unsigned int  addr_index 
)

◆ dwarf2_read_addr_index_reader()

static void dwarf2_read_addr_index_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ dwarf2_read_debug_names()

static bool dwarf2_read_debug_names ( struct objfile objfile)
static

◆ dwarf2_read_index()

static int dwarf2_read_index ( struct objfile objfile)
static

◆ dwarf2_read_section()

static void dwarf2_read_section ( struct objfile objfile,
struct dwarf2_section_info info 
)
static

◆ dwarf2_read_symtab()

static void dwarf2_read_symtab ( struct partial_symtab self,
struct objfile objfile 
)
static

◆ dwarf2_record_block_ranges()

static void dwarf2_record_block_ranges ( struct die_info die,
struct block block,
CORE_ADDR  baseaddr,
struct dwarf2_cu cu 
)
static

◆ dwarf2_release_queue()

static void dwarf2_release_queue ( void *  dummy)
static

◆ dwarf2_rnglists_process()

template<typename Callback >
static bool dwarf2_rnglists_process ( unsigned  offset,
struct dwarf2_cu cu,
Callback &&  callback 
)
static

◆ dwarf2_section_buffer_overflow_complaint()

static void dwarf2_section_buffer_overflow_complaint ( struct dwarf2_section_info section)
static

◆ dwarf2_section_empty_p()

static int dwarf2_section_empty_p ( const struct dwarf2_section_info section)
static

◆ dwarf2_section_size()

static bfd_size_type dwarf2_section_size ( struct objfile objfile,
struct dwarf2_section_info info 
)
static

◆ dwarf2_start_subfile()

static void dwarf2_start_subfile ( const char *  filename,
const char *  dirname 
)
static

◆ dwarf2_start_symtab()

static struct compunit_symtab * dwarf2_start_symtab ( struct dwarf2_cu cu,
const char *  name,
const char *  comp_dir,
CORE_ADDR  low_pc 
)
static

◆ dwarf2_statement_list_fits_in_line_number_section_complaint()

static void dwarf2_statement_list_fits_in_line_number_section_complaint ( void  )
static

Definition at line 2242 of file dwarf2read.c.

References _, complaint, and symfile_complaints.

Referenced by dwarf_decode_line_header().

◆ dwarf2_string_attr()

static const char * dwarf2_string_attr ( struct die_info die,
unsigned int  name,
struct dwarf2_cu cu 
)
static

◆ dwarf2_symbol_mark_computed()

static void dwarf2_symbol_mark_computed ( const struct attribute attr,
struct symbol sym,
struct dwarf2_cu cu,
int  is_block 
)
static

◆ dwarf2_version()

short dwarf2_version ( struct dwarf2_per_cu_data per_cu)

Definition at line 24908 of file dwarf2read.c.

References dwarf2_per_cu_data::dwarf_version.

Referenced by dwarf2_find_location_expression().

◆ dwarf5_djb_hash()

static uint32_t dwarf5_djb_hash ( const char *  str_)
static

Definition at line 5947 of file dwarf2read.c.

References hash().

Referenced by debug_names::build(), and dw2_debug_names_iterator::find_vec_in_debug_names().

◆ dwarf_alloc_block()

static struct dwarf_block * dwarf_alloc_block ( struct dwarf2_cu cu)
static

Definition at line 23695 of file dwarf2read.c.

References dwarf2_cu::comp_unit_obstack.

Referenced by read_attribute_value().

◆ dwarf_alloc_die()

static struct die_info * dwarf_alloc_die ( struct dwarf2_cu cu,
int  num_attrs 
)
static

Definition at line 23701 of file dwarf2read.c.

References dwarf2_cu::comp_unit_obstack, memset(), die_info::num_attrs, and size.

Referenced by read_full_die_1().

◆ dwarf_attr_name()

static const char * dwarf_attr_name ( unsigned  int)
static

Definition at line 22518 of file dwarf2read.c.

References name.

Referenced by dump_die_shallow(), dwarf2_string_attr(), and lookup_die_type().

◆ dwarf_bool_name()

static const char * dwarf_bool_name ( unsigned  int)
static

Definition at line 22552 of file dwarf2read.c.

Referenced by dump_die_shallow().

◆ dwarf_decode_line_header()

static line_header_up dwarf_decode_line_header ( sect_offset  sect_off,
struct dwarf2_cu cu 
)
static

◆ dwarf_decode_lines()

static void dwarf_decode_lines ( struct line_header lh,
const char *  comp_dir,
struct dwarf2_cu cu,
struct partial_symtab pst,
CORE_ADDR  lowpc,
int  decode_mapping 
)
static

◆ dwarf_decode_lines_1()

static void dwarf_decode_lines_1 ( struct line_header lh,
struct dwarf2_cu cu,
const int  decode_for_pst_p,
CORE_ADDR  lowpc 
)
static

◆ dwarf_decode_macro_bytes()

static void dwarf_decode_macro_bytes ( bfd *  abfd,
const gdb_byte mac_ptr,
const gdb_byte mac_end,
struct macro_source_file current_file,
struct line_header lh,
struct dwarf2_section_info section,
int  section_is_gnu,
int  section_is_dwz,
unsigned int  offset_size,
htab_t  include_hash 
)
static

◆ dwarf_decode_macros()

static void dwarf_decode_macros ( struct dwarf2_cu cu,
unsigned int  offset,
int  section_is_gnu 
)
static

◆ dwarf_finish_line()

static void dwarf_finish_line ( struct gdbarch gdbarch,
struct subfile subfile,
CORE_ADDR  address,
record_line_ftype  p_record_line 
)
static

◆ dwarf_form_name()

static const char * dwarf_form_name ( unsigned  int)
static

◆ dwarf_parse_macro_header()

static const gdb_byte* dwarf_parse_macro_header ( const gdb_byte **  opcode_definitions,
bfd *  abfd,
const gdb_byte mac_ptr,
unsigned int *  offset_size,
int  section_is_gnu 
)
static

◆ dwarf_record_line_1()

static void dwarf_record_line_1 ( struct gdbarch gdbarch,
struct subfile subfile,
unsigned int  line,
CORE_ADDR  address,
record_line_ftype  p_record_line 
)
static

◆ dwarf_record_line_p()

static int dwarf_record_line_p ( unsigned int  line,
unsigned int  last_line,
int  line_has_non_zero_discriminator,
struct subfile last_subfile 
)
static

Definition at line 20599 of file dwarf2read.c.

References current_subfile.

Referenced by lnp_state_machine::record_line().

◆ dwarf_tag_name()

static const char * dwarf_tag_name ( unsigned  int)
static

◆ dwarf_type_encoding_name()

static const char * dwarf_type_encoding_name ( unsigned  int)
static

Definition at line 22563 of file dwarf2read.c.

References name.

Referenced by read_base_type().

◆ eq_dwo_file()

static int eq_dwo_file ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 11787 of file dwarf2read.c.

References dwo_file::comp_dir, and dwo_file::dwo_name.

Referenced by allocate_dwo_file_hash_table().

◆ eq_dwo_unit()

static int eq_dwo_unit ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 11844 of file dwarf2read.c.

References dwo_unit::signature.

Referenced by allocate_dwo_unit_table().

◆ eq_dwp_loaded_cutus()

static int eq_dwp_loaded_cutus ( const void *  a,
const void *  b 
)
static

Definition at line 13103 of file dwarf2read.c.

References dwo_unit::signature.

Referenced by allocate_dwp_loaded_cutus_table().

◆ eq_file_name_entry()

static int eq_file_name_entry ( const void *  a,
const void *  b 
)
static

Definition at line 3015 of file dwarf2read.c.

References eq_stmt_list_entry(), and quick_file_names::hash.

Referenced by create_quick_file_names_table().

◆ eq_signatured_type()

static int eq_signatured_type ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 6858 of file dwarf2read.c.

References signatured_type::signature.

Referenced by allocate_signatured_type_table().

◆ eq_stmt_list_entry()

static int eq_stmt_list_entry ( const struct stmt_list_hash lhs,
const struct stmt_list_hash rhs 
)
static

◆ eq_type_unit_group()

static int eq_type_unit_group ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 8060 of file dwarf2read.c.

References eq_stmt_list_entry().

Referenced by allocate_type_unit_groups_table().

◆ error_check_comp_unit_head()

static void error_check_comp_unit_head ( struct comp_unit_head header,
struct dwarf2_section_info section,
struct dwarf2_section_info abbrev_section 
)
static

◆ file_file_name()

static char* file_file_name ( int  file,
struct line_header lh 
)
static

◆ file_full_name()

static char * file_full_name ( int  file,
struct line_header lh,
const char *  comp_dir 
)
static

Definition at line 23761 of file dwarf2read.c.

References file_file_name(), and SLASH_STRING.

Referenced by dw2_get_file_names_reader().

◆ file_write() [1/2]

static void file_write ( FILE *  file,
const void *  data,
size_t  size 
)
static

Definition at line 25459 of file dwarf2read.c.

References _, error(), and size.

Referenced by file_write().

◆ file_write() [2/2]

template<typename Elem , typename Alloc >
static void file_write ( FILE *  file,
const std::vector< Elem, Alloc > &  vec 
)
static

Definition at line 25469 of file dwarf2read.c.

References file_write().

◆ fill_in_loclist_baton()

static void fill_in_loclist_baton ( struct dwarf2_cu cu,
struct dwarf2_loclist_baton baton,
const struct attribute attr 
)
static

◆ fill_in_sig_entry_from_dwo_entry()

static void fill_in_sig_entry_from_dwo_entry ( struct objfile objfile,
struct signatured_type sig_entry,
struct dwo_unit dwo_entry 
)
static

◆ find_file_and_directory()

static file_and_directory find_file_and_directory ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ find_partial_die()

static struct partial_die_info * find_partial_die ( sect_offset  sect_off,
int  offset_in_dwz,
struct dwarf2_cu cu 
)
static

◆ find_partial_die_in_comp_unit()

static struct partial_die_info* find_partial_die_in_comp_unit ( sect_offset  sect_off,
struct dwarf2_cu cu 
)
static

Definition at line 18655 of file dwarf2read.c.

References dwarf2_cu::partial_dies, partial_die_info::sect_off, and to_underlying().

Referenced by find_partial_die().

◆ find_slot()

static symtab_index_entry& find_slot ( struct mapped_symtab symtab,
const char *  name 
)
static

Definition at line 25578 of file dwarf2read.c.

References hash(), INT_MAX, mapped_index_string_hash(), and name.

Referenced by add_index_entry(), and hash_expand().

◆ find_slot_in_mapped_hash()

static bool find_slot_in_mapped_hash ( struct mapped_index index,
const char *  name,
offset_type **  vec_out 
)
static

◆ fixup_go_packaging()

static void fixup_go_packaging ( struct dwarf2_cu cu)
static

◆ fixup_partial_die()

static void fixup_partial_die ( struct partial_die_info part_die,
struct dwarf2_cu cu 
)
static

◆ follow_die_offset()

static struct die_info* follow_die_offset ( sect_offset  sect_off,
int  offset_in_dwz,
struct dwarf2_cu **  ref_cu 
)
static

◆ follow_die_ref()

static struct die_info * follow_die_ref ( struct die_info src_die,
const struct attribute attr,
struct dwarf2_cu **  ref_cu 
)
static

◆ follow_die_ref_or_sig()

static struct die_info * follow_die_ref_or_sig ( struct die_info src_die,
const struct attribute attr,
struct dwarf2_cu **  ref_cu 
)
static

◆ follow_die_sig()

static struct die_info * follow_die_sig ( struct die_info src_die,
const struct attribute attr,
struct dwarf2_cu **  ref_cu 
)
static

◆ follow_die_sig_1()

static struct die_info* follow_die_sig_1 ( struct die_info src_die,
struct signatured_type sig_type,
struct dwarf2_cu **  ref_cu 
)
static

◆ free_cached_comp_units()

static void free_cached_comp_units ( void *  data)
static

◆ free_delayed_list()

static void free_delayed_list ( void *  ptr)
static

Definition at line 10072 of file dwarf2read.c.

References VEC_free.

Referenced by process_full_comp_unit(), and process_full_type_unit().

◆ free_dwo_file()

static void free_dwo_file ( struct dwo_file dwo_file,
struct objfile objfile 
)
static

◆ free_dwo_file_cleanup()

static void free_dwo_file_cleanup ( void *  arg)
static

Definition at line 13496 of file dwarf2read.c.

References free_dwo_file().

Referenced by open_and_init_dwo_file().

◆ free_dwo_file_from_slot()

static int free_dwo_file_from_slot ( void **  slot,
void *  info 
)
static

Definition at line 13507 of file dwarf2read.c.

References free_dwo_file().

Referenced by free_dwo_files().

◆ free_dwo_files()

static void free_dwo_files ( htab_t  dwo_files,
struct objfile objfile 
)
static

Definition at line 13520 of file dwarf2read.c.

References free_dwo_file_from_slot().

Referenced by dwarf2_per_objfile_free().

◆ free_heap_comp_unit()

static void free_heap_comp_unit ( void *  data)
static

◆ free_line_header_voidp()

static void free_line_header_voidp ( void *  arg)
static

Definition at line 19910 of file dwarf2read.c.

Referenced by handle_DW_AT_stmt_list().

◆ free_one_cached_comp_unit()

static void free_one_cached_comp_unit ( struct dwarf2_per_cu_data target_per_cu)
static

◆ free_stack_comp_unit()

static void free_stack_comp_unit ( void *  data)
static

◆ get_abbrev_section_for_cu()

static struct dwarf2_section_info* get_abbrev_section_for_cu ( struct dwarf2_per_cu_data this_cu)
static

◆ get_compunit_symtab()

static struct compunit_symtab* get_compunit_symtab ( struct dwarf2_per_cu_data per_cu)
static

◆ get_containing_section()

static struct dwarf2_section_info* get_containing_section ( const struct dwarf2_section_info section)
static

◆ get_cu_length()

static unsigned int get_cu_length ( const struct comp_unit_head header)
static

◆ get_debug_line_section()

static struct dwarf2_section_info* get_debug_line_section ( struct dwarf2_cu cu)
static

◆ get_die_type()

static struct type * get_die_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ get_die_type_at_offset()

static struct type * get_die_type_at_offset ( sect_offset  sect_off,
struct dwarf2_per_cu_data per_cu 
)
static

◆ get_DW_AT_signature_type()

static struct type * get_DW_AT_signature_type ( struct die_info die,
const struct attribute attr,
struct dwarf2_cu cu 
)
static

◆ get_dwp_file()

static struct dwp_file * get_dwp_file ( void  )
static

◆ get_scope_pc_bounds()

static void get_scope_pc_bounds ( struct die_info die,
CORE_ADDR lowpc,
CORE_ADDR highpc,
struct dwarf2_cu cu 
)
static

◆ get_section_bfd_owner()

static struct bfd* get_section_bfd_owner ( const struct dwarf2_section_info section)
static

◆ get_section_bfd_section()

static asection* get_section_bfd_section ( const struct dwarf2_section_info section)
static

◆ get_section_file_name()

static const char * get_section_file_name ( const struct dwarf2_section_info section)
static

◆ get_section_flags()

static int get_section_flags ( const struct dwarf2_section_info section)
static

Definition at line 2521 of file dwarf2read.c.

References gdb_assert, and get_section_bfd_section().

Referenced by read_debug_names_from_section(), and read_index_from_section().

◆ get_section_id()

static int get_section_id ( const struct dwarf2_section_info section)
static

Definition at line 2508 of file dwarf2read.c.

References get_section_bfd_section().

Referenced by create_dwo_unit_in_dwp_v1().

◆ get_section_name()

static const char * get_section_name ( const struct dwarf2_section_info section)
static

◆ get_signatured_type()

static struct type * get_signatured_type ( struct die_info die,
ULONGEST  signature,
struct dwarf2_cu cu 
)
static

◆ get_type_unit_group()

static struct type_unit_group* get_type_unit_group ( struct dwarf2_cu cu,
const struct attribute stmt_list 
)
static

◆ guess_full_die_structure_name()

static char* guess_full_die_structure_name ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ guess_partial_die_structure_name()

static void guess_partial_die_structure_name ( struct partial_die_info struct_pdi,
struct dwarf2_cu cu 
)
static

◆ handle_data_member_location()

static int handle_data_member_location ( struct die_info die,
struct dwarf2_cu cu,
LONGEST offset 
)
static

◆ handle_DW_AT_stmt_list()

static void handle_DW_AT_stmt_list ( struct die_info die,
struct dwarf2_cu cu,
const char *  comp_dir,
CORE_ADDR  lowpc 
)
static

◆ hash_dwo_file()

static hashval_t hash_dwo_file ( const void *  item)
static

Definition at line 11775 of file dwarf2read.c.

References dwo_file::comp_dir, dwo_file::dwo_name, and hash().

Referenced by allocate_dwo_file_hash_table().

◆ hash_dwo_unit()

static hashval_t hash_dwo_unit ( const void *  item)
static

Definition at line 11835 of file dwarf2read.c.

References dwo_unit::signature.

Referenced by allocate_dwo_unit_table().

◆ hash_dwp_loaded_cutus()

static hashval_t hash_dwp_loaded_cutus ( const void *  item)
static

Definition at line 13092 of file dwarf2read.c.

References dwo_unit::signature.

Referenced by allocate_dwp_loaded_cutus_table().

◆ hash_expand()

static void hash_expand ( struct mapped_symtab symtab)
static

Definition at line 25597 of file dwarf2read.c.

References find_slot().

Referenced by add_index_entry().

◆ hash_file_name_entry()

static hashval_t hash_file_name_entry ( const void *  e)
static

Definition at line 3004 of file dwarf2read.c.

References quick_file_names::hash, and hash_stmt_list_entry().

Referenced by create_quick_file_names_table().

◆ hash_signatured_type()

static hashval_t hash_signatured_type ( const void *  item)
static

Definition at line 6848 of file dwarf2read.c.

References signatured_type::signature.

Referenced by allocate_signatured_type_table().

◆ hash_stmt_list_entry()

static hashval_t hash_stmt_list_entry ( const struct stmt_list_hash stmt_list_hash)
static

◆ hash_type_unit_group()

static hashval_t hash_type_unit_group ( const void *  item)
static

Definition at line 8051 of file dwarf2read.c.

References hash_stmt_list_entry().

Referenced by allocate_type_unit_groups_table().

◆ inherit_abstract_dies()

static void inherit_abstract_dies ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ init_cu_die_reader()

static void init_cu_die_reader ( struct die_reader_specs reader,
struct dwarf2_cu cu,
struct dwarf2_section_info section,
struct dwo_file dwo_file 
)
static

◆ init_cutu_and_read_dies()

static void init_cutu_and_read_dies ( struct dwarf2_per_cu_data this_cu,
struct abbrev_table abbrev_table,
int  use_existing_cu,
int  keep,
die_reader_func_ftype die_reader_func,
void *  data 
)
static

Definition at line 7724 of file dwarf2read.c.

References _, comp_unit_head::abbrev_sect_off, dwarf2_cu::abbrev_table, COMPILE, complaint, dwarf2_per_cu_data::cu, discard_cleanups(), do_cleanups(), dwarf2_attr(), dwarf2_free_abbrev_table(), dwarf2_read_abbrevs(), dwarf2_read_section(), dwarf_die_debug, dwarf2_per_cu_data::dwarf_version, comp_unit_head::first_die_cu_offset, fprintf_unfiltered(), free_heap_comp_unit(), gdb_assert, gdb_stdlog, get_abbrev_section_for_cu(), get_cu_length(), get_section_bfd_owner(), dwarf2_cu::header, init_cu_die_reader(), init_one_comp_unit(), init_tu_and_read_dwo_dies(), dwarf2_per_cu_data::is_debug_types, dwarf2_per_cu_data::length, lookup_dwo_unit(), make_cleanup(), null_cleanup(), peek_abbrev_code(), read_and_check_comp_unit_head(), read_cutu_die_from_dwo(), read_full_die(), dwarf2_per_objfile::read_in_chain, dwarf2_cu::read_in_chain, dwarf2_per_cu_data::reading_dwo_directly, comp_unit_head::sect_off, dwarf2_per_cu_data::sect_off, abbrev_table::sect_off, dwarf2_section_info::section, dwarf2_per_cu_data::section, comp_unit_head::signature, signatured_type::signature, symfile_complaints, to_underlying(), TYPE, comp_unit_head::type_cu_offset_in_tu, signatured_type::type_offset_in_section, signatured_type::type_offset_in_tu, comp_unit_head::version, and XNEW.

Referenced by build_type_psymtabs_1(), dwarf2_read_addr_index(), load_full_comp_unit(), load_partial_comp_unit(), process_psymtab_comp_unit(), process_skeletonless_type_unit(), and read_signatured_type().

◆ init_cutu_and_read_dies_no_follow()

static void init_cutu_and_read_dies_no_follow ( struct dwarf2_per_cu_data this_cu,
struct dwo_file dwo_file,
die_reader_func_ftype die_reader_func,
void *  data 
)
static

◆ init_cutu_and_read_dies_simple()

static void init_cutu_and_read_dies_simple ( struct dwarf2_per_cu_data this_cu,
die_reader_func_ftype die_reader_func,
void *  data 
)
static

Definition at line 8035 of file dwarf2read.c.

References init_cutu_and_read_dies_no_follow().

Referenced by dw2_get_file_names().

◆ init_one_comp_unit()

static void init_one_comp_unit ( struct dwarf2_cu cu,
struct dwarf2_per_cu_data per_cu 
)
static

◆ init_tu_and_read_dwo_dies()

static void init_tu_and_read_dwo_dies ( struct dwarf2_per_cu_data this_cu,
int  use_existing_cu,
int  keep,
die_reader_func_ftype die_reader_func,
void *  data 
)
static

◆ is_type_tag_for_partial()

static int is_type_tag_for_partial ( int  tag)
static

Definition at line 18127 of file dwarf2read.c.

Referenced by load_partial_dies().

◆ is_vtable_name()

static int is_vtable_name ( const char *  name,
struct dwarf2_cu cu 
)
static

Definition at line 15640 of file dwarf2read.c.

References is_cplus_marker(), name, and startswith().

Referenced by process_structure_scope().

◆ leb128_size()

static int leb128_size ( const gdb_byte buf)
static

Definition at line 19712 of file dwarf2read.c.

Referenced by locexpr_describe_location_piece(), and var_decode_location().

◆ line_header_eq_voidp()

static int line_header_eq_voidp ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 2326 of file dwarf2read.c.

References line_header::offset_in_dwz, and line_header::sect_off.

Referenced by handle_DW_AT_stmt_list().

◆ line_header_hash()

static hashval_t line_header_hash ( const struct line_header ofs)
static

◆ line_header_hash_voidp()

static hashval_t line_header_hash_voidp ( const void *  item)
static

Definition at line 2316 of file dwarf2read.c.

References line_header_hash().

Referenced by handle_DW_AT_stmt_list().

◆ load_cu()

static void load_cu ( struct dwarf2_per_cu_data per_cu)
static

◆ load_full_comp_unit()

static void load_full_comp_unit ( struct dwarf2_per_cu_data this_cu,
enum language  pretend_language 
)
static

◆ load_full_comp_unit_reader()

static void load_full_comp_unit_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ load_full_type_unit()

static void load_full_type_unit ( struct dwarf2_per_cu_data per_cu)
static

◆ load_partial_comp_unit()

static void load_partial_comp_unit ( struct dwarf2_per_cu_data this_cu)
static

Definition at line 8827 of file dwarf2read.c.

References init_cutu_and_read_dies(), and load_partial_comp_unit_reader().

Referenced by find_partial_die().

◆ load_partial_comp_unit_reader()

static void load_partial_comp_unit_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ load_partial_dies()

static struct partial_die_info * load_partial_dies ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
int  building_psymtab 
)
static

◆ locate_dwz_sections()

static void locate_dwz_sections ( bfd *  abfd,
asection *  sectp,
void *  arg 
)
static

◆ locate_pdi_sibling()

static const gdb_byte* locate_pdi_sibling ( const struct die_reader_specs reader,
struct partial_die_info orig_pdi,
const gdb_byte info_ptr 
)
static

◆ locate_v1_virtual_dwo_sections()

static int locate_v1_virtual_dwo_sections ( asection *  sectp,
struct virtual_v1_dwo_sections sections 
)
static

◆ lookup_die_type()

static struct type * lookup_die_type ( struct die_info die,
const struct attribute attr,
struct dwarf2_cu cu 
)
static

◆ lookup_dwo_comp_unit()

static struct dwo_unit * lookup_dwo_comp_unit ( struct dwarf2_per_cu_data this_cu,
const char *  dwo_name,
const char *  comp_dir,
ULONGEST  signature 
)
static

Definition at line 13413 of file dwarf2read.c.

References lookup_dwo_cutu(), and dwo_unit::signature.

Referenced by lookup_dwo_unit().

◆ lookup_dwo_cutu()

static struct dwo_unit* lookup_dwo_cutu ( struct dwarf2_per_cu_data this_unit,
const char *  dwo_name,
const char *  comp_dir,
ULONGEST  signature,
int  is_debug_types 
)
static

◆ lookup_dwo_file_slot()

static void** lookup_dwo_file_slot ( const char *  dwo_name,
const char *  comp_dir 
)
static

◆ lookup_dwo_signatured_type()

static struct signatured_type* lookup_dwo_signatured_type ( struct dwarf2_cu cu,
ULONGEST  sig 
)
static

◆ lookup_dwo_type_unit()

static struct dwo_unit * lookup_dwo_type_unit ( struct signatured_type this_tu,
const char *  dwo_name,
const char *  comp_dir 
)
static

Definition at line 13424 of file dwarf2read.c.

References lookup_dwo_cutu(), signatured_type::per_cu, and signatured_type::signature.

Referenced by lookup_dwo_unit().

◆ lookup_dwo_unit()

static struct dwo_unit* lookup_dwo_unit ( struct dwarf2_per_cu_data this_cu,
struct die_info comp_unit_die 
)
static

◆ lookup_dwo_unit_in_dwp()

static struct dwo_unit * lookup_dwo_unit_in_dwp ( struct dwp_file dwp_file,
const char *  comp_dir,
ULONGEST  signature,
int  is_debug_types 
)
static

◆ lookup_dwp_signatured_type()

static struct signatured_type* lookup_dwp_signatured_type ( struct dwarf2_cu cu,
ULONGEST  sig 
)
static

◆ lookup_signatured_type()

static struct signatured_type* lookup_signatured_type ( struct dwarf2_cu cu,
ULONGEST  sig 
)
static

◆ macro_start_file()

static struct macro_source_file* macro_start_file ( int  file,
int  line,
struct macro_source_file current_file,
struct line_header lh 
)
static

◆ make_sort_after_prefix_name()

static std::string make_sort_after_prefix_name ( const char *  search_name)
static

Definition at line 4566 of file dwarf2read.c.

References string.

Referenced by mapped_index_base::find_name_components_bounds().

◆ mapped_index_string_hash()

static hashval_t mapped_index_string_hash ( int  index_version,
const void *  p 
)
static

◆ mark_common_block_symbol_computed()

static void mark_common_block_symbol_computed ( struct symbol sym,
struct die_info common_die,
struct attribute common_loc,
struct attribute member_loc,
struct dwarf2_cu cu 
)
static

◆ maybe_queue_comp_unit()

static int maybe_queue_comp_unit ( struct dwarf2_cu dependent_cu,
struct dwarf2_per_cu_data per_cu,
enum language  pretend_language 
)
static

◆ namespace_name()

static const char * namespace_name ( struct die_info die,
int *  is_anonymous,
struct dwarf2_cu cu 
)
static

◆ need_gnat_info()

static int need_gnat_info ( struct dwarf2_cu cu)
static

Definition at line 21771 of file dwarf2read.c.

Referenced by set_die_type().

◆ new_symbol()

static struct symbol * new_symbol ( struct die_info die,
struct type type,
struct dwarf2_cu cu 
)
static

◆ new_symbol_full()

static struct symbol * new_symbol_full ( struct die_info die,
struct type type,
struct dwarf2_cu cu,
struct symbol space 
)
static

Definition at line 21184 of file dwarf2read.c.

References _, add_symbol_to_list(), allocate_symbol(), ANOFFSET, attr_value_as_address(), objfile_type::builtin_core_addr, objfile_type::builtin_int, COMMON_BLOCK_DOMAIN, complaint, context_stack_depth, cp_scan_for_anonymous_namespaces(), die_is_declaration(), die_type(), DW_UNSND, dwarf2_attr(), dwarf2_const_value(), dwarf2_full_name(), dwarf2_name(), dwarf2_physname(), dwarf_tag_name(), line_header::file_name_at(), file_symbols, gdb_assert, gdbarch_adjust_dwarf2_addr(), get_objfile_arch(), symbol::ginfo, global_symbols, dwarf2_per_objfile::has_section_at_zero, symbol::hash_next, LABEL_DOMAIN, dwarf2_cu::language, language_ada, language_cplus, language_d, language_fortran, language_rust, dwarf2_cu::line_header, dwarf2_cu::list_in_scope, LOC_BLOCK, LOC_COMMON_BLOCK, LOC_LABEL, LOC_OPTIMIZED_OUT, LOC_STATIC, LOC_TYPEDEF, LOC_UNRESOLVED, MODULE_DOMAIN, name, dwarf2_cu::objfile, objfile_type(), OBJSTAT, die_info::parent, dwarf2_cu::producer, SECT_OFF_TEXT, objfile::section_offsets, startswith(), STRUCT_DOMAIN, SYMBOL_ACLASS_INDEX, SYMBOL_CLASS, SYMBOL_DOMAIN, symbol_get_demangled_name(), SYMBOL_INLINED, SYMBOL_IS_ARGUMENT, SYMBOL_LINE, SYMBOL_SEARCH_NAME, symbol_set_demangled_name(), SYMBOL_SET_LANGUAGE, SYMBOL_SET_NAMES, symbol_set_symtab(), SYMBOL_TYPE, SYMBOL_VALUE_ADDRESS, symfile_complaints, file_entry::symtab, die_info::tag, objfile::template_symbols, type, TYPE_CODE, TYPE_CODE_VOID, TYPE_NAME, var_decode_location(), and VAR_DOMAIN.

Referenced by new_symbol(), read_func_scope(), and read_variable().

◆ noop_record_line()

static void noop_record_line ( struct subfile subfile,
int  line,
CORE_ADDR  pc 
)
static

Definition at line 20563 of file dwarf2read.c.

Referenced by lnp_state_machine::check_line_address().

◆ offset_in_cu_p()

static bool offset_in_cu_p ( const comp_unit_head cu_header,
sect_offset  sect_off 
)
inlinestatic

◆ open_and_init_dwo_file()

static struct dwo_file* open_and_init_dwo_file ( struct dwarf2_per_cu_data per_cu,
const char *  dwo_name,
const char *  comp_dir 
)
static

◆ open_and_init_dwp_file()

static struct dwp_file* open_and_init_dwp_file ( void  )
static

◆ open_dwo_file()

static gdb_bfd_ref_ptr open_dwo_file ( const char *  file_name,
const char *  comp_dir 
)
static

Definition at line 12861 of file dwarf2read.c.

References debug_file_directory, SLASH_STRING, try_open_dwop_file(), and xfree().

Referenced by open_and_init_dwo_file().

◆ open_dwp_file()

static gdb_bfd_ref_ptr open_dwp_file ( const char *  file_name)
static

Definition at line 13132 of file dwarf2read.c.

References debug_file_directory, and try_open_dwop_file().

Referenced by open_and_init_dwp_file().

◆ parse_macro_definition()

static void parse_macro_definition ( struct macro_source_file file,
int  line,
const char *  body 
)
static

◆ partial_die_eq()

static int partial_die_eq ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 25392 of file dwarf2read.c.

References partial_die_info::sect_off.

Referenced by load_partial_dies().

◆ partial_die_full_name()

static char* partial_die_full_name ( struct partial_die_info pdi,
struct dwarf2_cu cu 
)
static

◆ partial_die_hash()

static hashval_t partial_die_hash ( const void *  item)
static

Definition at line 25380 of file dwarf2read.c.

References partial_die_info::sect_off, and to_underlying().

Referenced by load_partial_dies().

◆ partial_die_parent_scope()

static const char* partial_die_parent_scope ( struct partial_die_info pdi,
struct dwarf2_cu cu 
)
static

◆ peek_abbrev_code()

static unsigned int peek_abbrev_code ( bfd *  abfd,
const gdb_byte info_ptr 
)
static

◆ peek_die_abbrev()

static struct abbrev_info* peek_die_abbrev ( const gdb_byte info_ptr,
unsigned int *  bytes_read,
struct dwarf2_cu cu 
)
static

◆ per_cu_header_read_in()

static const struct comp_unit_head* per_cu_header_read_in ( struct comp_unit_head cu_headerp,
struct dwarf2_per_cu_data per_cu 
)
static

◆ per_cu_offset_and_type_eq()

static int per_cu_offset_and_type_eq ( const void *  item_lhs,
const void *  item_rhs 
)
static

◆ per_cu_offset_and_type_hash()

static hashval_t per_cu_offset_and_type_hash ( const void *  item)
static

◆ prepare_one_comp_unit()

static void prepare_one_comp_unit ( struct dwarf2_cu cu,
struct die_info comp_unit_die,
enum language  pretend_language 
)
static

◆ print_tu_stats()

static void print_tu_stats ( void  )
static

◆ process_cu_includes()

static void process_cu_includes ( void  )
static

◆ process_die()

static void process_die ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ process_dwo_file_for_skeletonless_type_units()

static int process_dwo_file_for_skeletonless_type_units ( void **  slot,
void *  info 
)
static

Definition at line 8679 of file dwarf2read.c.

References process_skeletonless_type_unit(), and dwo_file::tus.

Referenced by process_skeletonless_type_units().

◆ process_enumeration_scope()

static void process_enumeration_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ process_full_comp_unit()

static void process_full_comp_unit ( struct dwarf2_per_cu_data per_cu,
enum language  pretend_language 
)
static

◆ process_full_type_unit()

static void process_full_type_unit ( struct dwarf2_per_cu_data per_cu,
enum language  pretend_language 
)
static

◆ process_imported_unit_die()

static void process_imported_unit_die ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ process_psymtab_comp_unit()

static void process_psymtab_comp_unit ( struct dwarf2_per_cu_data this_cu,
int  want_partial_unit,
enum language  pretend_language 
)
static

◆ process_psymtab_comp_unit_reader()

static void process_psymtab_comp_unit_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ process_queue()

static void process_queue ( void  )
static

◆ process_skeletonless_type_unit()

static int process_skeletonless_type_unit ( void **  slot,
void *  info 
)
static

◆ process_skeletonless_type_units()

static void process_skeletonless_type_units ( struct objfile objfile)
static

◆ process_structure_scope()

static void process_structure_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ producer_is_gcc_lt_4_3()

static int producer_is_gcc_lt_4_3 ( struct dwarf2_cu cu)
static

Definition at line 11402 of file dwarf2read.c.

References check_producer().

Referenced by find_file_and_directory().

◆ producer_is_gxx_lt_4_6()

static int producer_is_gxx_lt_4_6 ( struct dwarf2_cu cu)
static

Definition at line 14923 of file dwarf2read.c.

References check_producer().

Referenced by dwarf2_default_access_attribute().

◆ producer_is_icc_lt_14()

static int producer_is_icc_lt_14 ( struct dwarf2_cu cu)
static

Definition at line 11389 of file dwarf2read.c.

References check_producer().

Referenced by read_structure_type().

◆ prototyped_function_p()

static int prototyped_function_p ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ psyms_seen_size()

static size_t psyms_seen_size ( )
static

◆ psymtab_include_file_name()

static const char* psymtab_include_file_name ( const struct line_header lh,
int  file_index,
const struct partial_symtab pst,
const char *  comp_dir 
)
static

◆ psymtab_to_symtab_1()

static void psymtab_to_symtab_1 ( struct partial_symtab pst)
static

◆ queue_and_load_all_dwo_tus()

static void queue_and_load_all_dwo_tus ( struct dwarf2_per_cu_data per_cu)
static

◆ queue_and_load_dwo_tu()

static int queue_and_load_dwo_tu ( void **  slot,
void *  info 
)
static

◆ queue_comp_unit()

static void queue_comp_unit ( struct dwarf2_per_cu_data per_cu,
enum language  pretend_language 
)
static

◆ quirk_gcc_member_function_pointer()

static void quirk_gcc_member_function_pointer ( struct type type,
struct objfile objfile 
)
static

◆ read_1_byte()

static unsigned int read_1_byte ( bfd *  abfd,
const gdb_byte buf 
)
static

◆ read_1_signed_byte()

static int read_1_signed_byte ( bfd *  abfd,
const gdb_byte buf 
)
static

Definition at line 19146 of file dwarf2read.c.

Referenced by decode_locdesc(), and dwarf_decode_line_header().

◆ read_2_bytes()

static unsigned int read_2_bytes ( bfd *  abfd,
const gdb_byte buf 
)
static

◆ read_2_signed_bytes()

static int read_2_signed_bytes ( bfd *  abfd,
const gdb_byte buf 
)
static

Definition at line 19158 of file dwarf2read.c.

Referenced by decode_locdesc().

◆ read_4_bytes()

static unsigned int read_4_bytes ( bfd *  abfd,
const gdb_byte buf 
)
static

◆ read_4_signed_bytes()

static int read_4_signed_bytes ( bfd *  abfd,
const gdb_byte buf 
)
static

Definition at line 19170 of file dwarf2read.c.

Referenced by decode_locdesc().

◆ read_8_bytes()

static ULONGEST read_8_bytes ( bfd *  abfd,
const gdb_byte buf 
)
static

◆ read_abbrev_offset()

static sect_offset read_abbrev_offset ( struct dwarf2_section_info section,
sect_offset  sect_off 
)
static

◆ read_addr_index()

static CORE_ADDR read_addr_index ( struct dwarf2_cu cu,
unsigned int  addr_index 
)
static

◆ read_addr_index_1()

static CORE_ADDR read_addr_index_1 ( unsigned int  addr_index,
ULONGEST  addr_base,
int  addr_size 
)
static

◆ read_addr_index_from_leb128()

static CORE_ADDR read_addr_index_from_leb128 ( struct dwarf2_cu cu,
const gdb_byte info_ptr,
unsigned int *  bytes_read 
)
static

◆ read_address()

static CORE_ADDR read_address ( bfd *  abfd,
const gdb_byte ptr,
struct dwarf2_cu cu,
unsigned int *  bytes_read 
)
static

◆ read_and_check_comp_unit_head()

static const gdb_byte * read_and_check_comp_unit_head ( struct comp_unit_head header,
struct dwarf2_section_info section,
struct dwarf2_section_info abbrev_section,
const gdb_byte info_ptr,
rcuh_kind  section_kind 
)
static

◆ read_array_order()

static enum dwarf_array_dim_ordering read_array_order ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_array_type()

static struct type* read_array_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_attribute()

static const gdb_byte * read_attribute ( const struct die_reader_specs reader,
struct attribute attr,
struct attr_abbrev abbrev,
const gdb_byte info_ptr 
)
static

◆ read_attribute_value()

static const gdb_byte* read_attribute_value ( const struct die_reader_specs reader,
struct attribute attr,
unsigned  form,
LONGEST  implicit_const,
const gdb_byte info_ptr 
)
static

◆ read_base_type()

static struct type* read_base_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_call_site_scope()

static void read_call_site_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 13920 of file dwarf2read.c.

References _, ANOFFSET, attr_form_is_block(), attr_form_is_ref(), attr_value_as_address(), CALL_SITE_PARAMETER_DWARF_REG, CALL_SITE_PARAMETER_FB_OFFSET, CALL_SITE_PARAMETER_PARAM_OFFSET, die_info::child, complaint, core_addr_eq(), core_addr_hash(), dwarf2_locexpr_baton::data, call_site_parameter::data_value, call_site_parameter::data_value_size, die_is_declaration(), dw2_linkage_name(), DW_BLOCK, dwarf2_attr(), dwarf2_flag_true_p(), dwarf2_get_pc_bounds(), dwarf2_get_ref_die_offset(), dwarf2_physname(), dwarf_block_to_dwarf_reg(), dwarf_block_to_sp_offset(), call_site_parameter_u::dwarf_reg, call_site_parameter_u::fb_offset, follow_die_ref(), gdb_assert, gdbarch_adjust_dwarf2_addr(), get_die_type(), get_objfile_arch(), hashtab_obstack_allocate(), dwarf2_cu::header, call_site_parameter::kind, loc, memset(), dwarf2_cu::objfile, objfile_name(), offset_in_cu_p(), paddress(), call_site_parameter_u::param_cu_off, call_site::parameter, call_site::parameter_count, die_info::parent, call_site::pc, PC_BOUNDS_INVALID, dwarf2_locexpr_baton::per_cu, dwarf2_cu::per_cu, call_site::per_cu, comp_unit_head::sect_off, die_info::sect_off, SECT_OFF_TEXT, objfile::section_offsets, SET_FIELD_DWARF_BLOCK, SET_FIELD_PHYSADDR, SET_FIELD_PHYSNAME, sibling_die(), dwarf2_locexpr_baton::size, size, symfile_complaints, die_info::tag, call_site::tail_call_next, call_site::target, to_underlying(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_TAIL_CALL_LIST, call_site_parameter::u, call_site_parameter::value, and call_site_parameter::value_size.

Referenced by process_die().

◆ read_checked_initial_length_and_offset()

static LONGEST read_checked_initial_length_and_offset ( bfd *  abfd,
const gdb_byte buf,
const struct comp_unit_head cu_header,
unsigned int *  bytes_read,
unsigned int *  offset_size 
)
static

◆ read_common_block()

static void read_common_block ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_comp_unit_head()

static const gdb_byte* read_comp_unit_head ( struct comp_unit_head cu_header,
const gdb_byte info_ptr,
struct dwarf2_section_info section,
rcuh_kind  section_kind 
)
static

◆ read_comp_units_from_section()

static void read_comp_units_from_section ( struct objfile objfile,
struct dwarf2_section_info section,
struct dwarf2_section_info abbrev_section,
unsigned int  is_dwz,
int *  n_allocated,
int *  n_comp_units,
struct dwarf2_per_cu_data ***  all_comp_units 
)
static

◆ read_cutu_die_from_dwo()

static int read_cutu_die_from_dwo ( struct dwarf2_per_cu_data this_cu,
struct dwo_unit dwo_unit,
int  abbrev_table_provided,
struct die_info stub_comp_unit_die,
const char *  stub_comp_dir,
struct die_reader_specs result_reader,
const gdb_byte **  result_info_ptr,
struct die_info **  result_comp_unit_die,
int *  result_has_children 
)
static

◆ read_debug_names_from_section()

static bool read_debug_names_from_section ( struct objfile objfile,
const char *  filename,
struct dwarf2_section_info section,
mapped_debug_names map 
)
static

◆ read_die_and_children()

static struct die_info* read_die_and_children ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
const gdb_byte **  new_info_ptr,
struct die_info parent 
)
static

◆ read_die_and_siblings()

static struct die_info * read_die_and_siblings ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
const gdb_byte **  new_info_ptr,
struct die_info parent 
)
static

◆ read_die_and_siblings_1()

static struct die_info * read_die_and_siblings_1 ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
const gdb_byte **  new_info_ptr,
struct die_info parent 
)
static

◆ read_direct_string()

static const char * read_direct_string ( bfd *  abfd,
const gdb_byte buf,
unsigned int *  bytes_read_ptr 
)
static

◆ read_enumeration_type()

static struct type* read_enumeration_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_file_scope()

static void read_file_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_formatted_entries()

static void read_formatted_entries ( bfd *  abfd,
const gdb_byte **  bufp,
struct line_header lh,
const struct comp_unit_head cu_header,
void(*)(struct line_header *lh, const char *name, dir_index d_index, unsigned int mod_time, unsigned int length)  callback 
)
static

◆ read_full_die()

static const gdb_byte * read_full_die ( const struct die_reader_specs reader,
struct die_info **  diep,
const gdb_byte info_ptr,
int *  has_children 
)
static

◆ read_full_die_1()

static const gdb_byte * read_full_die_1 ( const struct die_reader_specs reader,
struct die_info **  diep,
const gdb_byte info_ptr,
int *  has_children,
int  num_extra_attrs 
)
static

◆ read_func_scope()

static void read_func_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_import_statement()

static void read_import_statement ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_index_from_section()

static int read_index_from_section ( struct objfile objfile,
const char *  filename,
int  deprecated_ok,
struct dwarf2_section_info section,
struct mapped_index map,
const gdb_byte **  cu_list,
offset_type cu_list_elements,
const gdb_byte **  types_list,
offset_type types_list_elements 
)
static

◆ read_indirect_line_string()

static const char * read_indirect_line_string ( bfd *  abfd,
const gdb_byte buf,
const struct comp_unit_head cu_header,
unsigned int *  bytes_read_ptr 
)
static

◆ read_indirect_line_string_at_offset()

static const char* read_indirect_line_string_at_offset ( bfd *  abfd,
LONGEST  str_offset 
)
static

◆ read_indirect_string()

static const char * read_indirect_string ( bfd *  abfd,
const gdb_byte buf,
const struct comp_unit_head cu_header,
unsigned int *  bytes_read_ptr 
)
static

Definition at line 19459 of file dwarf2read.c.

References read_indirect_string_at_offset(), and read_offset().

Referenced by read_attribute_value().

◆ read_indirect_string_at_offset()

static const char * read_indirect_string_at_offset ( bfd *  abfd,
LONGEST  str_offset 
)
static

◆ read_indirect_string_at_offset_from()

static const char* read_indirect_string_at_offset_from ( bfd *  abfd,
LONGEST  str_offset,
struct dwarf2_section_info sect,
const char *  form_name,
const char *  sect_name 
)
static

◆ read_indirect_string_from_dwz()

static const char * read_indirect_string_from_dwz ( struct dwz_file dwz,
LONGEST  str_offset 
)
static

◆ read_initial_length()

static LONGEST read_initial_length ( bfd *  abfd,
const gdb_byte buf,
unsigned int *  bytes_read 
)
static

◆ read_lexical_block_scope()

static void read_lexical_block_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_module()

static void read_module ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_module_type()

static struct type * read_module_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_n_bytes()

static const gdb_byte * read_n_bytes ( bfd *  abfd,
const gdb_byte buf,
unsigned int  size 
)
static

Definition at line 19361 of file dwarf2read.c.

References gdb_assert, and HOST_CHAR_BIT.

Referenced by read_attribute_value().

◆ read_namespace()

static void read_namespace ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_namespace_alias()

static int read_namespace_alias ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_namespace_type()

static struct type* read_namespace_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_offset()

static LONGEST read_offset ( bfd *  abfd,
const gdb_byte buf,
const struct comp_unit_head cu_header,
unsigned int *  bytes_read 
)
static

◆ read_offset_1()

static LONGEST read_offset_1 ( bfd *  abfd,
const gdb_byte buf,
unsigned int  offset_size 
)
static

◆ read_partial_die()

static const gdb_byte * read_partial_die ( const struct die_reader_specs reader,
struct partial_die_info part_die,
struct abbrev_info abbrev,
unsigned int  abbrev_len,
const gdb_byte info_ptr 
)
static

Definition at line 18433 of file dwarf2read.c.

References _, attr_form_is_block(), attr_form_is_constant(), attr_form_is_section_offset(), attr_value_as_address(), abbrev_info::attrs, die_reader_specs::buffer, die_reader_specs::buffer_end, complaint, die_reader_specs::cu, partial_die_info::d, die_reader_specs::die_section, DW_BLOCK, DW_STRING, DW_UNSND, dwarf2_canonicalize_name(), dwarf2_complex_location_expr_complaint(), dwarf2_get_ref_die_offset(), dwarf2_invalid_attrib_class_complaint(), dwarf2_section_buffer_overflow_complaint(), attribute::form, get_objfile_arch(), partial_die_info::has_byte_size, partial_die_info::has_children, abbrev_info::has_children, partial_die_info::has_const_value, partial_die_info::has_pc_info, dwarf2_per_objfile::has_section_at_zero, partial_die_info::has_specification, partial_die_info::has_type, dwarf2_cu::header, partial_die_info::highpc, partial_die_info::is_declaration, dwarf2_per_cu_data::is_dwz, partial_die_info::is_dwz, partial_die_info::is_external, dwarf2_cu::language, language_ada, language_fortran, partial_die_info::linkage_name, partial_die_info::locdesc, partial_die_info::lowpc, partial_die_info::main_subprogram, partial_die_info::may_be_inlined, memset(), partial_die_info::name, attribute::name, abbrev_info::num_attrs, dwarf2_cu::objfile, objfile_name(), paddress(), objfile::per_bfd, dwarf2_cu::per_cu, read_attribute(), partial_die_info::sect_off, partial_die_info::sibling, partial_die_info::spec_is_dwz, partial_die_info::spec_offset, objfile_per_bfd_storage::storage_obstack, symfile_complaints, partial_die_info::tag, abbrev_info::tag, to_underlying(), and comp_unit_head::version.

Referenced by load_partial_dies().

◆ read_set_type()

static struct type* read_set_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_signatured_type()

static void read_signatured_type ( struct signatured_type sig_type)
static

◆ read_signatured_type_reader()

static void read_signatured_type_reader ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct die_info comp_unit_die,
int  has_children,
void *  data 
)
static

◆ read_signed_leb128()

static LONGEST read_signed_leb128 ( bfd *  abfd,
const gdb_byte buf,
unsigned int *  bytes_read_ptr 
)
static

◆ read_str_index()

static const char * read_str_index ( const struct die_reader_specs reader,
ULONGEST  str_index 
)
static

◆ read_structure_type()

static struct type* read_structure_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_subrange_type()

static struct type* read_subrange_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_subroutine_type()

static struct type* read_subroutine_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_tag_atomic_type()

static struct type* read_tag_atomic_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 17051 of file dwarf2read.c.

References die_type(), get_die_type(), make_atomic_type(), and set_die_type().

Referenced by read_type_die_1().

◆ read_tag_const_type()

static struct type* read_tag_const_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_tag_pointer_type()

static struct type* read_tag_pointer_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_tag_ptr_to_member_type()

static struct type* read_tag_ptr_to_member_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_tag_reference_type()

static struct type* read_tag_reference_type ( struct die_info die,
struct dwarf2_cu cu,
enum type_code  refcode 
)
static

◆ read_tag_restrict_type()

static struct type* read_tag_restrict_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 17033 of file dwarf2read.c.

References die_type(), get_die_type(), make_restrict_type(), and set_die_type().

Referenced by read_type_die_1().

◆ read_tag_string_type()

static struct type* read_tag_string_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_tag_volatile_type()

static struct type* read_tag_volatile_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_type_die()

static struct type * read_type_die ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_type_die_1()

static struct type * read_type_die_1 ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_type_unit_scope()

static void read_type_unit_scope ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_typedef()

static struct type* read_typedef ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_unsigned_leb128()

ULONGEST read_unsigned_leb128 ( bfd *  abfd,
const gdb_byte buf,
unsigned int *  bytes_read_ptr 
)

◆ read_unspecified_type()

static struct type* read_unspecified_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ read_variable()

static void read_variable ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ recursively_compute_inclusions()

static void recursively_compute_inclusions ( VEC(compunit_symtab_ptr) **  result,
htab_t  all_children,
htab_t  all_type_symtabs,
struct dwarf2_per_cu_data per_cu,
struct compunit_symtab immediate_parent 
)
static

◆ recursively_count_psymbols()

static void recursively_count_psymbols ( struct partial_symtab psymtab,
size_t &  psyms_seen 
)
static

◆ recursively_find_pc_sect_compunit_symtab()

static struct compunit_symtab* recursively_find_pc_sect_compunit_symtab ( struct compunit_symtab cust,
CORE_ADDR  pc 
)
static

◆ recursively_write_psymbols()

static void recursively_write_psymbols ( struct objfile objfile,
struct partial_symtab psymtab,
struct mapped_symtab symtab,
std::unordered_set< partial_symbol *> &  psyms_seen,
offset_type  cu_index 
)
static

◆ rust_containing_type()

static struct type* rust_containing_type ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 14245 of file dwarf2read.c.

References attr_form_is_ref(), die_containing_type(), dwarf2_attr(), and follow_die_ref().

Referenced by read_variable().

◆ save_gdb_index_command()

static void save_gdb_index_command ( const char *  arg,
int  from_tty 
)
static

◆ scan_partial_symbols()

static void scan_partial_symbols ( struct partial_die_info first_die,
CORE_ADDR lowpc,
CORE_ADDR highpc,
int  set_addrmap,
struct dwarf2_cu cu 
)
static

◆ section_is_p()

static int section_is_p ( const char *  section_name,
const struct dwarf2_section_names names 
)
static

◆ set_cu_language()

static void set_cu_language ( unsigned int  lang,
struct dwarf2_cu cu 
)
static

◆ set_descriptive_type()

static void set_descriptive_type ( struct type type,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ set_die_type()

static struct type * set_die_type ( struct die_info die,
struct type type,
struct dwarf2_cu cu 
)
static

◆ set_dwarf_cmd()

static void set_dwarf_cmd ( const char *  args,
int  from_tty 
)
static

Definition at line 25406 of file dwarf2read.c.

References all_commands, gdb_stdout, help_list(), and set_dwarf_cmdlist.

Referenced by _initialize_dwarf2_read().

◆ set_partial_user()

static void set_partial_user ( struct objfile objfile)
static

◆ setup_type_unit_groups()

static void setup_type_unit_groups ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ show_check_physname()

static void show_check_physname ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 27058 of file dwarf2read.c.

References _, and fprintf_filtered().

Referenced by _initialize_dwarf2_read().

◆ show_dwarf_always_disassemble()

static void show_dwarf_always_disassemble ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 27048 of file dwarf2read.c.

References _, and fprintf_filtered().

Referenced by _initialize_dwarf2_read().

◆ show_dwarf_cmd()

static void show_dwarf_cmd ( const char *  args,
int  from_tty 
)
static

Definition at line 25413 of file dwarf2read.c.

References cmd_show_list(), and show_dwarf_cmdlist.

Referenced by _initialize_dwarf2_read().

◆ show_dwarf_max_cache_age()

static void show_dwarf_max_cache_age ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 1688 of file dwarf2read.c.

References _, and fprintf_filtered().

Referenced by _initialize_dwarf2_read().

◆ sibling_die()

static struct die_info * sibling_die ( struct die_info die)
static

◆ skip_children()

static const gdb_byte* skip_children ( const struct die_reader_specs reader,
const gdb_byte info_ptr 
)
static

Definition at line 9535 of file dwarf2read.c.

References die_reader_specs::cu, peek_die_abbrev(), and skip_one_die().

Referenced by locate_pdi_sibling(), and skip_one_die().

◆ skip_form_bytes()

static const gdb_byte* skip_form_bytes ( bfd *  abfd,
const gdb_byte bytes,
const gdb_byte buffer_end,
enum dwarf_form  form,
unsigned int  offset_size,
struct dwarf2_section_info section 
)
static

◆ skip_one_die()

static const gdb_byte * skip_one_die ( const struct die_reader_specs reader,
const gdb_byte info_ptr,
struct abbrev_info abbrev 
)
static

◆ skip_unknown_opcode()

static const gdb_byte* skip_unknown_opcode ( unsigned int  opcode,
const gdb_byte **  opcode_definitions,
const gdb_byte mac_ptr,
const gdb_byte mac_end,
bfd *  abfd,
unsigned int  offset_size,
struct dwarf2_section_info section 
)
static

◆ sort_tu_by_abbrev_offset()

static int sort_tu_by_abbrev_offset ( const void *  ap,
const void *  bp 
)
static

Definition at line 8452 of file dwarf2read.c.

References bp.

Referenced by build_type_psymtabs_1().

◆ store_in_ref_table()

static void store_in_ref_table ( struct die_info die,
struct dwarf2_cu cu 
)
static

Definition at line 22746 of file dwarf2read.c.

References dwarf2_cu::die_hash, die_info::sect_off, and to_underlying().

Referenced by read_die_and_children().

◆ symbol_kind()

static gdb_index_symbol_kind symbol_kind ( struct partial_symbol psym)
static

◆ try_open_dwop_file()

static gdb_bfd_ref_ptr try_open_dwop_file ( const char *  file_name,
int  is_dwp,
int  search_cwd 
)
static

◆ type_can_define_types()

static bool type_can_define_types ( const struct die_info die)
static

Definition at line 15189 of file dwarf2read.c.

References die_info::tag.

Referenced by dwarf2_add_type_defn(), and process_structure_scope().

◆ typename_concat()

static char * typename_concat ( struct obstack *  obs,
const char *  prefix,
const char *  suffix,
int  physname,
struct dwarf2_cu cu 
)
static

◆ uniquify_cu_indices()

static void uniquify_cu_indices ( struct mapped_symtab symtab)
static

Definition at line 25652 of file dwarf2read.c.

Referenced by write_gdbindex().

◆ update_enumeration_type_from_children()

static void update_enumeration_type_from_children ( struct die_info die,
struct type type,
struct dwarf2_cu cu 
)
static

◆ using_directives()

static struct using_direct** using_directives ( enum language language  )
static

◆ var_decode_location()

static void var_decode_location ( struct attribute attr,
struct symbol sym,
struct dwarf2_cu cu 
)
static

◆ write_address_map()

static void write_address_map ( struct objfile objfile,
data_buf addr_vec,
psym_index_map cu_index_htab 
)
static

◆ write_constant_as_bytes()

static const gdb_byte* write_constant_as_bytes ( struct obstack *  obstack,
enum bfd_endian  byte_order,
struct type type,
ULONGEST  value,
LONGEST len 
)
static

Definition at line 22986 of file dwarf2read.c.

References store_unsigned_integer(), and TYPE_LENGTH.

Referenced by dwarf2_fetch_constant_bytes().

◆ write_debug_names()

static size_t write_debug_names ( struct objfile objfile,
FILE *  out_file,
FILE *  out_file_str 
)
static

◆ write_gdbindex()

static size_t write_gdbindex ( struct objfile objfile,
FILE *  out_file 
)
static

◆ write_hash_table()

static void write_hash_table ( mapped_symtab symtab,
data_buf output,
data_buf cpool 
)
static

◆ write_one_signatured_type()

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

◆ write_psymbols()

static void write_psymbols ( struct mapped_symtab symtab,
std::unordered_set< partial_symbol *> &  psyms_seen,
struct partial_symbol **  psymp,
int  count,
offset_type  cu_index,
int  is_static 
)
static

◆ write_psymtabs_to_index()

static void write_psymtabs_to_index ( struct objfile objfile,
const char *  dir,
dw_index_kind  index_kind 
)
static

Variable Documentation

◆ bits_per_byte

int bits_per_byte = 8
static

Definition at line 1604 of file dwarf2read.c.

Referenced by dwarf2_add_field(), and mips_isa_regsize().

◆ check_physname

int check_physname = 0
static

Definition at line 105 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and dwarf2_physname().

◆ dwarf2_debug_names_functions

const struct quick_symbol_functions dwarf2_debug_names_functions
Initial value:
=
{
NULL,
}
static bool dw2_map_symtabs_matching_filename(struct objfile *objfile, const char *name, const char *real_path, gdb::function_view< bool(symtab *)> callback)
Definition: dwarf2read.c:4067
static void dw2_map_symbol_filenames(struct objfile *objfile, symbol_filename_ftype *fun, void *data, int need_fullname)
Definition: dwarf2read.c:5538
static struct symtab * dw2_find_last_source_symtab(struct objfile *objfile)
Definition: dwarf2read.c:3997
static void dw2_debug_names_expand_symtabs_for_function(struct objfile *objfile, const char *func_name)
Definition: dwarf2read.c:6390
static void dw2_debug_names_expand_symtabs_matching(struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info &lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, enum search_domain kind)
Definition: dwarf2read.c:6412
static void dw2_expand_symtabs_with_fullname(struct objfile *objfile, const char *fullname)
Definition: dwarf2read.c:4420
static void dw2_expand_all_symtabs(struct objfile *objfile)
Definition: dwarf2read.c:4404
static struct compunit_symtab * dw2_debug_names_lookup_symbol(struct objfile *objfile, int block_index_int, const char *name, domain_enum domain)
Definition: dwarf2read.c:6325
static void dw2_relocate(struct objfile *objfile, const struct section_offsets *new_offsets, const struct section_offsets *delta)
Definition: dwarf2read.c:4371
static void dw2_debug_names_dump(struct objfile *objfile)
Definition: dwarf2read.c:6377
static void dw2_forget_cached_source_info(struct objfile *objfile)
Definition: dwarf2read.c:4032
static struct compunit_symtab * dw2_find_pc_sect_compunit_symtab(struct objfile *objfile, struct bound_minimal_symbol msymbol, CORE_ADDR pc, struct obj_section *section, int warn_if_readin)
Definition: dwarf2read.c:5507
static void dw2_map_matching_symbols(struct objfile *objfile, const char *name, domain_enum domain, int global, int(*callback)(struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, symbol_compare_ftype *ordered_compare)
Definition: dwarf2read.c:4460
static int dw2_has_symbols(struct objfile *objfile)
Definition: dwarf2read.c:5610
static void dw2_print_stats(struct objfile *objfile)
Definition: dwarf2read.c:4331

Definition at line 6444 of file dwarf2read.c.

◆ dwarf2_elf_names

const struct dwarf2_debug_sections dwarf2_elf_names
static
Initial value:
=
{
{ ".debug_info", ".zdebug_info" },
{ ".debug_abbrev", ".zdebug_abbrev" },
{ ".debug_line", ".zdebug_line" },
{ ".debug_loc", ".zdebug_loc" },
{ ".debug_loclists", ".zdebug_loclists" },
{ ".debug_macinfo", ".zdebug_macinfo" },
{ ".debug_macro", ".zdebug_macro" },
{ ".debug_str", ".zdebug_str" },
{ ".debug_line_str", ".zdebug_line_str" },
{ ".debug_ranges", ".zdebug_ranges" },
{ ".debug_rnglists", ".zdebug_rnglists" },
{ ".debug_types", ".zdebug_types" },
{ ".debug_addr", ".zdebug_addr" },
{ ".debug_frame", ".zdebug_frame" },
{ ".eh_frame", NULL },
{ ".gdb_index", ".zgdb_index" },
{ ".debug_names", ".zdebug_names" },
{ ".debug_aranges", ".zdebug_aranges" },
23
}

Definition at line 524 of file dwarf2read.c.

Referenced by dwarf2_per_objfile::dwarf2_per_objfile(), and locate_dwz_sections().

◆ dwarf2_gdb_index_functions

const struct quick_symbol_functions dwarf2_gdb_index_functions
Initial value:
=
{
NULL,
}
static bool dw2_map_symtabs_matching_filename(struct objfile *objfile, const char *name, const char *real_path, gdb::function_view< bool(symtab *)> callback)
Definition: dwarf2read.c:4067
static void dw2_map_symbol_filenames(struct objfile *objfile, symbol_filename_ftype *fun, void *data, int need_fullname)
Definition: dwarf2read.c:5538
static struct symtab * dw2_find_last_source_symtab(struct objfile *objfile)
Definition: dwarf2read.c:3997
static void dw2_expand_symtabs_matching(struct objfile *objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info &lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, enum search_domain kind)
Definition: dwarf2read.c:5452
static void dw2_expand_symtabs_with_fullname(struct objfile *objfile, const char *fullname)
Definition: dwarf2read.c:4420
static void dw2_expand_all_symtabs(struct objfile *objfile)
Definition: dwarf2read.c:4404
static void dw2_relocate(struct objfile *objfile, const struct section_offsets *new_offsets, const struct section_offsets *delta)
Definition: dwarf2read.c:4371
static struct compunit_symtab * dw2_lookup_symbol(struct objfile *objfile, int block_index, const char *name, domain_enum domain)
Definition: dwarf2read.c:4281
static void dw2_forget_cached_source_info(struct objfile *objfile)
Definition: dwarf2read.c:4032
static struct compunit_symtab * dw2_find_pc_sect_compunit_symtab(struct objfile *objfile, struct bound_minimal_symbol msymbol, CORE_ADDR pc, struct obj_section *section, int warn_if_readin)
Definition: dwarf2read.c:5507
static void dw2_expand_symtabs_for_function(struct objfile *objfile, const char *func_name)
Definition: dwarf2read.c:4379
static void dw2_map_matching_symbols(struct objfile *objfile, const char *name, domain_enum domain, int global, int(*callback)(struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, symbol_compare_ftype *ordered_compare)
Definition: dwarf2read.c:4460
static void dw2_dump(struct objfile *objfile)
Definition: dwarf2read.c:4355
static int dw2_has_symbols(struct objfile *objfile)
Definition: dwarf2read.c:5610
static void dw2_print_stats(struct objfile *objfile)
Definition: dwarf2read.c:4331

Definition at line 5615 of file dwarf2read.c.

◆ dwarf2_locexpr_block_index

int dwarf2_locexpr_block_index
static

Definition at line 116 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and dwarf2_symbol_mark_computed().

◆ dwarf2_locexpr_index

int dwarf2_locexpr_index
static

◆ dwarf2_loclist_block_index

int dwarf2_loclist_block_index
static

Definition at line 117 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and dwarf2_symbol_mark_computed().

◆ dwarf2_loclist_index

int dwarf2_loclist_index
static

Definition at line 115 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and dwarf2_symbol_mark_computed().

◆ dwarf2_objfile_data_key

const struct objfile_data* dwarf2_objfile_data_key
static

◆ dwarf2_per_objfile

Definition at line 517 of file dwarf2read.c.

◆ dwarf2_queue

struct dwarf2_queue_item* dwarf2_queue
static

Definition at line 1679 of file dwarf2read.c.

Referenced by dwarf2_release_queue(), process_queue(), and queue_comp_unit().

◆ dwarf2_queue_tail

struct dwarf2_queue_item * dwarf2_queue_tail
static

Definition at line 1679 of file dwarf2read.c.

Referenced by dwarf2_release_queue(), process_queue(), and queue_comp_unit().

◆ dwarf5_augmentation

const gdb_byte dwarf5_augmentation[] = { 'G', 'D', 'B', 0 }
static

Definition at line 5638 of file dwarf2read.c.

Referenced by read_debug_names_from_section().

◆ dwarf5_gdb_augmentation

const gdb_byte dwarf5_gdb_augmentation[] = { 'G', 'D', 'B', 0 }
static

Definition at line 26786 of file dwarf2read.c.

Referenced by write_debug_names().

◆ dwarf_always_disassemble

int dwarf_always_disassemble

Definition at line 27045 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and locexpr_describe_location_1().

◆ dwarf_die_debug

unsigned int dwarf_die_debug = 0
static

◆ dwarf_line_debug

unsigned int dwarf_line_debug = 0
static

◆ dwarf_max_cache_age

int dwarf_max_cache_age = 5
static

Definition at line 1686 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and age_cached_comp_units().

◆ dwarf_read_debug

unsigned int dwarf_read_debug = 0
static

◆ dwop_section_names

Initial value:
=
{
{ ".debug_abbrev.dwo", ".zdebug_abbrev.dwo" },
{ ".debug_info.dwo", ".zdebug_info.dwo" },
{ ".debug_line.dwo", ".zdebug_line.dwo" },
{ ".debug_loc.dwo", ".zdebug_loc.dwo" },
{ ".debug_loclists.dwo", ".zdebug_loclists.dwo" },
{ ".debug_macinfo.dwo", ".zdebug_macinfo.dwo" },
{ ".debug_macro.dwo", ".zdebug_macro.dwo" },
{ ".debug_str.dwo", ".zdebug_str.dwo" },
{ ".debug_str_offsets.dwo", ".zdebug_str_offsets.dwo" },
{ ".debug_types.dwo", ".zdebug_types.dwo" },
{ ".debug_cu_index", ".zdebug_cu_index" },
{ ".debug_tu_index", ".zdebug_tu_index" },
}

Referenced by dwarf2_locate_common_dwp_sections(), dwarf2_locate_dwo_sections(), dwarf2_locate_v2_dwp_sections(), and locate_v1_virtual_dwo_sections().

◆ set_dwarf_cmdlist

struct cmd_list_element* set_dwarf_cmdlist
static

Definition at line 25402 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and set_dwarf_cmd().

◆ show_dwarf_cmdlist

struct cmd_list_element* show_dwarf_cmdlist
static

Definition at line 25403 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and show_dwarf_cmd().

◆ use_deprecated_index_sections

int use_deprecated_index_sections = 0
static

Definition at line 108 of file dwarf2read.c.

Referenced by _initialize_dwarf2_read(), and dwarf2_read_index().