GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
read.c File Reference
#include "defs.h"
#include "dwarf2/read.h"
#include "dwarf2/abbrev.h"
#include "dwarf2/attribute.h"
#include "dwarf2/comp-unit-head.h"
#include "dwarf2/cu.h"
#include "dwarf2/index-cache.h"
#include "dwarf2/index-common.h"
#include "dwarf2/leb.h"
#include "dwarf2/line-header.h"
#include "dwarf2/dwz.h"
#include "dwarf2/macro.h"
#include "dwarf2/die.h"
#include "dwarf2/sect-names.h"
#include "dwarf2/stringify.h"
#include "dwarf2/public.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "objfiles.h"
#include "dwarf2.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "filenames.h"
#include "language.h"
#include "complaints.h"
#include "dwarf2/expr.h"
#include "dwarf2/loc.h"
#include "cp-support.h"
#include "hashtab.h"
#include "command.h"
#include "gdbcmd.h"
#include "block.h"
#include "addrmap.h"
#include "typeprint.h"
#include "c-lang.h"
#include "go-lang.h"
#include "valprint.h"
#include "gdbcore.h"
#include "gdb/gdb-index.h"
#include "gdb_bfd.h"
#include "f-lang.h"
#include "source.h"
#include "build-id.h"
#include "namespace.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/gdb_optional.h"
#include "gdbsupport/underlying.h"
#include "gdbsupport/hash_enum.h"
#include "filename-seen-cache.h"
#include "producer.h"
#include <fcntl.h>
#include <algorithm>
#include <unordered_map>
#include "gdbsupport/selftest.h"
#include "rust-lang.h"
#include "gdbsupport/pathstuff.h"
#include "count-one-bits.h"
#include <unordered_set>
#include "dwarf2/abbrev-cache.h"
#include "cooked-index.h"
#include "split-name.h"
#include "gdbsupport/parallel-for.h"
#include "gdbsupport/thread-pool.h"

Go to the source code of this file.

Classes

class  offset_view
 
struct  mapped_index
 
struct  mapped_debug_names
 
struct  mapped_debug_names::index_val
 
struct  mapped_debug_names::index_val::attr
 
struct  dwop_section_names
 
struct  loclists_rnglists_header
 
struct  stmt_list_hash
 
struct  type_unit_group
 
struct  type_unit_group::hash
 
struct  dwo_sections
 
struct  dwo_unit
 
struct  dwo_file
 
struct  dwo_file::sections
 
struct  dwp_sections
 
struct  virtual_v1_dwo_sections
 
struct  virtual_v2_or_v5_dwo_sections
 
struct  dwp_hash_table
 
struct  dwp_file
 
struct  dwp_file::sections
 
struct  die_reader_specs
 
class  cutu_reader
 
struct  variant_field
 
struct  variant_part_builder
 
struct  nextfield
 
struct  nextfield::field
 
struct  fnfieldlist
 
struct  field_info
 
class  dwarf2_queue_guard
 
class  all_units_iterator
 
class  all_units_range
 
class  free_cached_comp_units
 
struct  quick_file_names
 
struct  dwarf2_base_index_functions
 
struct  readnow_functions
 
struct  dwarf2_gdb_index
 
struct  dwarf2_debug_names_index
 
struct  dw2_symtab_iterator
 
class  dw2_debug_names_iterator
 
class  cooked_index_storage
 
class  cooked_indexer
 
struct  cooked_indexer::deferred_entry
 
struct  tu_abbrev_offset
 
struct  skeleton_data
 
class  process_die_scope
 
struct  cooked_index_functions
 
class  lnp_state_machine
 
struct  dwarf2_per_cu_offset_and_type
 

Macros

#define dwarf_read_debug_printf(fmt, ...)
 
#define dwarf_read_debug_printf_v(fmt, ...)
 
#define LOCLIST_HEADER_SIZE32   12
 
#define LOCLIST_HEADER_SIZE64   20
 
#define RNGLIST_HEADER_SIZE32   12
 
#define RNGLIST_HEADER_SIZE64   20
 
#define MAX_NR_V2_DWO_SECTIONS
 
#define MAX_NR_V5_DWO_SECTIONS
 
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)
 
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10
 
#define RUST_ENUM_PREFIX   "RUST$ENCODED$ENUM$"
 
#define MAX_NESTED_IMPORTED_DECLARATIONS   100
 
#define MAX_NR_V1_DWO_SECTIONS
 
#define GNAT_FIXED_POINT_SUFFIX   "___XF_"
 
#define MAX_SEP_LEN   7 /* strlen ("__") + strlen ("_MOD_") */
 

Typedefs

typedef std::unique_ptr< struct dwo_filedwo_file_up
 
typedef gdb::function_view< gdb::array_view< const gdb_byte >(objfile *, dwarf2_per_bfd *)> get_gdb_index_contents_ftype
 
typedef gdb::function_view< gdb::array_view< const gdb_byte >(objfile *, dwz_file *)> get_gdb_index_contents_dwz_ftype
 
typedef std::unordered_map< sect_offset, int, gdb::hash_enum< sect_offset > > offset_map_type
 

Enumerations

enum  dwp_v2_section_ids { DW_SECT_MIN = 1 }
 
enum  pc_bounds_kind { PC_BOUNDS_NOT_PRESENT , PC_BOUNDS_INVALID , PC_BOUNDS_RANGES , PC_BOUNDS_HIGH_LOW }
 

Functions

dwarf2_per_objfileget_dwarf2_per_objfile (struct objfile *objfile)
 
static void show_dwarf_max_cache_age (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void dwarf2_find_base_address (struct die_info *die, struct dwarf2_cu *cu)
 
static void build_type_psymtabs_reader (cutu_reader *reader, cooked_index_storage *storage)
 
static void dwarf2_build_psymtabs_hard (dwarf2_per_objfile *per_objfile)
 
static void var_decode_location (struct attribute *attr, struct symbol *sym, struct dwarf2_cu *cu)
 
static unsigned int peek_abbrev_code (bfd *, const gdb_byte *)
 
static const gdb_byte * read_attribute (const struct die_reader_specs *, struct attribute *, const struct attr_abbrev *, const gdb_byte *)
 
static void read_attribute_reprocess (const struct die_reader_specs *reader, struct attribute *attr, dwarf_tag tag)
 
static CORE_ADDR read_addr_index (struct dwarf2_cu *cu, unsigned int addr_index)
 
static sect_offset read_abbrev_offset (dwarf2_per_objfile *per_objfile, dwarf2_section_info *, sect_offset)
 
static const char * read_indirect_string (dwarf2_per_objfile *per_objfile, bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *)
 
static const char * read_indirect_string_at_offset (dwarf2_per_objfile *per_objfile, LONGEST str_offset)
 
static CORE_ADDR read_addr_index_from_leb128 (struct dwarf2_cu *, const gdb_byte *, unsigned int *)
 
static const char * read_dwo_str_index (const struct die_reader_specs *reader, ULONGEST str_index)
 
static const char * read_stub_str_index (struct dwarf2_cu *cu, ULONGEST str_index)
 
static struct attributedwarf2_attr (struct die_info *, unsigned int, struct dwarf2_cu *)
 
static const char * dwarf2_string_attr (struct die_info *die, unsigned int name, struct dwarf2_cu *cu)
 
static const char * dwarf2_dwo_name (struct die_info *die, 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, const char *comp_dir)
 
static void dwarf_decode_lines (struct line_header *, struct dwarf2_cu *, CORE_ADDR, int decode_mapping)
 
static void dwarf2_start_subfile (dwarf2_cu *cu, const file_entry &fe, const line_header &lh)
 
static struct symbolnew_symbol (struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *=NULL)
 
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 typeread_subrange_index_type (struct die_info *die, struct dwarf2_cu *cu)
 
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 struct dwarf2_section_infocu_debug_loc_section (struct dwarf2_cu *cu)
 
static struct dwarf2_section_infocu_debug_rnglists_section (struct dwarf2_cu *cu, dwarf_tag tag)
 
static enum pc_bounds_kind dwarf2_get_pc_bounds (struct die_info *, CORE_ADDR *, CORE_ADDR *, struct dwarf2_cu *, addrmap *, void *)
 
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 (struct dwarf2_cu *cu)
 
static void read_import_statement (struct die_info *die, struct dwarf2_cu *)
 
static bool read_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 *, bool *=nullptr)
 
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_byte * read_full_die_1 (const struct die_reader_specs *, struct die_info **, const gdb_byte *, int)
 
static const gdb_byte * read_full_die (const struct die_reader_specs *, struct die_info **, const gdb_byte *)
 
static void process_die (struct die_info *, struct dwarf2_cu *)
 
static const char * dwarf2_canonicalize_name (const char *, struct dwarf2_cu *, struct objfile *)
 
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 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 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 (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile)
 
static void read_signatured_type (signatured_type *sig_type, dwarf2_per_objfile *per_objfile)
 
static int attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, struct dwarf2_cu *cu, struct dynamic_prop *prop, struct type *type)
 
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 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_byte * skip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr, const struct abbrev_info *abbrev, bool do_skip_children=true)
 
static struct dwarf2_per_cu_datadwarf2_find_containing_comp_unit (sect_offset sect_off, unsigned int offset_in_dwz, dwarf2_per_bfd *per_bfd)
 
static void prepare_one_comp_unit (struct dwarf2_cu *cu, struct die_info *comp_unit_die, enum language pretend_language)
 
static struct typeset_die_type (struct die_info *, struct type *, struct dwarf2_cu *, bool=false)
 
static void create_all_units (dwarf2_per_objfile *per_objfile)
 
static void load_full_comp_unit (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, dwarf2_cu *existing_cu, bool skip_partial, enum language pretend_language)
 
static void process_full_comp_unit (dwarf2_cu *cu, enum language pretend_language)
 
static void process_full_type_unit (dwarf2_cu *cu, enum language pretend_language)
 
static struct typeget_die_type_at_offset (sect_offset, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile)
 
static struct typeget_die_type (struct die_info *die, struct dwarf2_cu *cu)
 
static void queue_comp_unit (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, enum language pretend_language)
 
static void process_queue (dwarf2_per_objfile *per_objfile)
 
static file_and_directoryfind_file_and_directory (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * compute_include_file_name (const struct line_header *lh, const file_entry &fe, const file_and_directory &cu_info, std::string &name_holder)
 
static htab_up allocate_signatured_type_table ()
 
static htab_up allocate_dwo_unit_table ()
 
static struct dwo_unitlookup_dwo_unit_in_dwp (dwarf2_per_objfile *per_objfile, struct dwp_file *dwp_file, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static struct dwp_fileget_dwp_file (dwarf2_per_objfile *per_objfile)
 
static struct dwo_unitlookup_dwo_comp_unit (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir, ULONGEST signature)
 
static struct dwo_unitlookup_dwo_type_unit (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir)
 
static void queue_and_load_all_dwo_tus (dwarf2_cu *cu)
 
static void process_cu_includes (dwarf2_per_objfile *per_objfile)
 
static void check_producer (struct dwarf2_cu *cu)
 
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_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)
 
int dwarf2_has_info (struct objfile *objfile, const struct dwarf2_debug_sections *names, bool can_copy)
 
void dwarf2_get_section_info (struct objfile *objfile, enum dwarf2_section_enum sect, asection **sectp, const gdb_byte **bufp, bfd_size_type *sizep)
 
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 htab_up create_quick_file_names_table (unsigned int nr_initial_entries)
 
static dwarf2_cuload_cu (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, bool skip_partial)
 
static void dw2_do_instantiate_symtab (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, bool skip_partial)
 
static struct compunit_symtabdw2_instantiate_symtab (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, bool skip_partial)
 
static dwarf2_per_cu_data_up create_cu_from_index_list (dwarf2_per_bfd *per_bfd, struct dwarf2_section_info *section, int is_dwz, sect_offset sect_off, ULONGEST length)
 
static void create_cus_from_index_list (dwarf2_per_bfd *per_bfd, const gdb_byte *cu_list, offset_type n_elements, struct dwarf2_section_info *section, int is_dwz)
 
static void create_cus_from_index (dwarf2_per_bfd *per_bfd, 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 (dwarf2_per_bfd *per_bfd, struct dwarf2_section_info *section, const gdb_byte *bytes, offset_type elements)
 
static void create_signatured_type_table_from_debug_names (dwarf2_per_objfile *per_objfile, const mapped_debug_names &map, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section)
 
static void create_addrmap_from_index (dwarf2_per_objfile *per_objfile, struct mapped_index *index)
 
static bool read_addrmap_from_aranges (dwarf2_per_objfile *per_objfile, struct dwarf2_section_info *section, addrmap *mutable_map)
 
static void create_addrmap_from_aranges (dwarf2_per_objfile *per_objfile, struct dwarf2_section_info *section)
 
static bool read_gdb_index_from_buffer (const char *filename, bool deprecated_ok, gdb::array_view< const gdb_byte > buffer, 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 void finalize_all_units (dwarf2_per_bfd *per_bfd)
 
static int dwarf2_read_gdb_index (dwarf2_per_objfile *per_objfile, get_gdb_index_contents_ftype get_gdb_index_contents, get_gdb_index_contents_dwz_ftype get_gdb_index_contents_dwz)
 
static void dw2_get_file_names_reader (const struct die_reader_specs *reader, struct die_info *comp_unit_die)
 
static struct quick_file_namesdw2_get_file_names (dwarf2_per_cu_data *this_cu, dwarf2_per_objfile *per_objfile)
 
static const char * dw2_get_real_path (dwarf2_per_objfile *per_objfile, struct quick_file_names *qfn, int index)
 
static void dw2_symtab_iter_init (struct dw2_symtab_iterator *iter, dwarf2_per_objfile *per_objfile, gdb::optional< block_enum > block_index, domain_enum domain, offset_type namei, mapped_index &index)
 
static struct dwarf2_per_cu_datadw2_symtab_iter_next (struct dw2_symtab_iterator *iter, mapped_index &index)
 
static bool 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, gdb::function_view< bool(offset_type)> match_callback, dwarf2_per_objfile *per_objfile)
 
static bool dw2_expand_symtabs_matching_one (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify)
 
static std::string make_sort_after_prefix_name (const char *search_name)
 
static bool dw2_expand_marked_cus (dwarf2_per_objfile *per_objfile, offset_type idx, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, block_search_flags search_flags, search_domain kind)
 
static void dw_expand_symtabs_matching_file_matcher (dwarf2_per_objfile *per_objfile, gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher)
 
static struct compunit_symtabrecursively_find_pc_sect_compunit_symtab (struct compunit_symtab *cust, CORE_ADDR pc)
 
static bool read_debug_names_from_section (struct objfile *objfile, const char *filename, struct dwarf2_section_info *section, mapped_debug_names &map)
 
static bool create_cus_from_debug_names_list (dwarf2_per_bfd *per_bfd, const mapped_debug_names &map, dwarf2_section_info &section, bool is_dwz)
 
static bool create_cus_from_debug_names (dwarf2_per_bfd *per_bfd, const mapped_debug_names &map, const mapped_debug_names &dwz_map)
 
static bool dwarf2_read_debug_names (dwarf2_per_objfile *per_objfile)
 
template<typename T >
static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
 
static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_bfd *dwarf2_per_bfd)
 
static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
 
static quick_symbol_functions_up make_cooked_index_funcs ()
 
void dwarf2_initialize_objfile (struct objfile *objfile)
 
static void dwarf2_build_psymtabs (struct objfile *objfile)
 
static struct dwarf2_section_infoget_abbrev_section_for_cu (struct dwarf2_per_cu_data *this_cu)
 
static hashval_t hash_signatured_type (const void *item)
 
static int eq_signatured_type (const void *item_lhs, const void *item_rhs)
 
static void create_debug_type_hash_table (dwarf2_per_objfile *per_objfile, struct dwo_file *dwo_file, dwarf2_section_info *section, htab_up &types_htab, rcuh_kind section_kind)
 
static void create_debug_types_hash_table (dwarf2_per_objfile *per_objfile, struct dwo_file *dwo_file, gdb::array_view< dwarf2_section_info > type_sections, htab_up &types_htab)
 
static struct signatured_typeadd_type_unit (dwarf2_per_objfile *per_objfile, ULONGEST sig, void **slot)
 
static void fill_in_sig_entry_from_dwo_entry (dwarf2_per_objfile *per_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, struct abbrev_table *abbrev_table)
 
static int read_cutu_die_from_dwo (dwarf2_cu *cu, struct dwo_unit *dwo_unit, 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, abbrev_table_up *result_dwo_abbrev_table)
 
static gdb::optional< ULONGEST > lookup_dwo_id (struct dwarf2_cu *cu, struct die_info *comp_unit_die)
 
static struct dwo_unitlookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die, const char *dwo_name)
 
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_up allocate_type_unit_groups_table ()
 
static std::unique_ptr< 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 (dwarf2_per_cu_data *this_cu, dwarf2_per_objfile *per_objfile, cooked_index_storage *storage)
 
static void build_type_psymtabs (dwarf2_per_objfile *per_objfile, cooked_index_storage *storage)
 
static void print_tu_stats (dwarf2_per_objfile *per_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 (dwarf2_per_objfile *per_objfile, cooked_index_storage *storage)
 
static void read_comp_units_from_section (dwarf2_per_objfile *per_objfile, struct dwarf2_section_info *section, struct dwarf2_section_info *abbrev_section, unsigned int is_dwz, htab_up &types_htab, rcuh_kind section_kind)
 
static const struct abbrev_infopeek_die_abbrev (const die_reader_specs &reader, const gdb_byte *info_ptr, unsigned int *bytes_read)
 
static const gdb_byte * skip_children (const struct die_reader_specs *reader, const gdb_byte *info_ptr)
 
static int maybe_queue_comp_unit (struct dwarf2_cu *dependent_cu, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, 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 add_to_method_list (struct type *type, int fnfield_index, int index, const char *name, struct die_info *die, struct dwarf2_cu *cu)
 
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 const char * rust_fully_qualify (struct obstack *obstack, const char *p1, const char *p2)
 
static void alloc_rust_variant (struct obstack *obstack, struct type *type, int discriminant_index, int default_index, gdb::array_view< discriminant_range > ranges)
 
static void quirk_rust_enum (struct type *type, struct objfile *objfile)
 
static void rust_union_quirks (struct dwarf2_cu *cu)
 
static void recursively_compute_inclusions (std::vector< compunit_symtab * > *result, htab_t all_children, htab_t all_type_symtabs, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, struct compunit_symtab *immediate_parent)
 
static void compute_compunit_symtab_includes (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile)
 
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 bool producer_is_icc_lt_14 (struct dwarf2_cu *cu)
 
static bool producer_is_icc (struct dwarf2_cu *cu)
 
static bool producer_is_gcc_lt_4_3 (struct dwarf2_cu *cu)
 
bool producer_is_clang (struct dwarf2_cu *cu)
 
static void handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu, const file_and_directory &fnd, CORE_ADDR lowpc, bool have_code)
 
static hashval_t hash_dwo_file (const void *item)
 
static int eq_dwo_file (const void *item_lhs, const void *item_rhs)
 
static htab_up allocate_dwo_file_hash_table ()
 
static void ** lookup_dwo_file_slot (dwarf2_per_objfile *per_objfile, 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, struct dwo_file *dwo_file, struct dwo_unit *dwo_unit)
 
static void create_cus_hash_table (dwarf2_per_objfile *per_objfile, dwarf2_cu *cu, struct dwo_file &dwo_file, dwarf2_section_info &section, htab_up &cus_htab)
 
static struct dwp_hash_tablecreate_dwp_hash_table (dwarf2_per_objfile *per_objfile, 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 (dwarf2_per_objfile *per_objfile, 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_or_v5_section (dwarf2_per_objfile *per_objfile, struct dwarf2_section_info *section, bfd_size_type offset, bfd_size_type size)
 
static struct dwo_unitcreate_dwo_unit_in_dwp_v2 (dwarf2_per_objfile *per_objfile, struct dwp_file *dwp_file, uint32_t unit_index, const char *comp_dir, ULONGEST signature, int is_debug_types)
 
static struct dwo_unitcreate_dwo_unit_in_dwp_v5 (dwarf2_per_objfile *per_objfile, 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 (dwarf2_per_objfile *per_objfile, const char *file_name, int is_dwp, int search_cwd)
 
static gdb_bfd_ref_ptr open_dwo_file (dwarf2_per_objfile *per_objfile, const char *file_name, const char *comp_dir)
 
static void dwarf2_locate_dwo_sections (struct objfile *objfile, bfd *abfd, asection *sectp, dwo_sections *dwo_sections)
 
static struct dwo_fileopen_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir)
 
static void dwarf2_locate_common_dwp_sections (struct objfile *objfile, bfd *abfd, asection *sectp, dwp_file *dwp_file)
 
static void dwarf2_locate_v2_dwp_sections (struct objfile *objfile, bfd *abfd, asection *sectp, void *dwp_file_ptr)
 
static void dwarf2_locate_v5_dwp_sections (struct objfile *objfile, 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_up allocate_dwp_loaded_cutus_table ()
 
static gdb_bfd_ref_ptr open_dwp_file (dwarf2_per_objfile *per_objfile, const char *file_name)
 
static std::unique_ptr< struct dwp_fileopen_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
 
static struct dwo_unitlookup_dwo_cutu (dwarf2_cu *cu, 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 inherit_abstract_dies (struct die_info *die, struct dwarf2_cu *cu)
 
static void dwarf2_ranges_read_low_addrs (unsigned offset, struct dwarf2_cu *cu, dwarf_tag tag, std::vector< CORE_ADDR > &result)
 
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, dwarf_tag tag, Callback &&callback)
 
template<typename Callback >
static int dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu, dwarf_tag tag, Callback &&callback)
 
static int dwarf2_ranges_read (unsigned offset, CORE_ADDR *low_return, CORE_ADDR *high_return, struct dwarf2_cu *cu, addrmap *map, void *datum, dwarf_tag tag)
 
static void dwarf2_get_subprogram_pc_bounds (struct die_info *die, CORE_ADDR *lowpc, CORE_ADDR *highpc, struct dwarf2_cu *cu)
 
static bool producer_is_gxx_lt_4_6 (struct dwarf2_cu *cu)
 
static bool producer_is_codewarrior (struct dwarf2_cu *cu)
 
static enum dwarf_access_attribute dwarf2_access_attribute (struct die_info *die, struct dwarf2_cu *cu)
 
static int handle_member_location (struct die_info *die, struct dwarf2_cu *cu, LONGEST *offset)
 
static void handle_member_location (struct die_info *die, struct dwarf2_cu *cu, struct field *field)
 
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 const gdb::array_view< discriminant_rangeconvert_variant_range (struct obstack *obstack, const variant_field &variant, bool is_unsigned)
 
static const gdb::array_view< variant_partcreate_variant_parts (struct obstack *obstack, const offset_map_type &offset_map, struct field_info *fi, const std::vector< variant_part_builder > &variant_parts)
 
static void create_one_variant (variant &result, struct obstack *obstack, const offset_map_type &offset_map, struct field_info *fi, const variant_field &field)
 
static void create_one_variant_part (variant_part &result, struct obstack *obstack, const offset_map_type &offset_map, struct field_info *fi, const variant_part_builder &builder)
 
static void add_variant_property (struct field_info *fip, struct type *type, 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 typerewrite_array_type (struct type *type)
 
static void quirk_ada_thick_pointer_struct (struct die_info *die, struct dwarf2_cu *cu, struct type *type)
 
static ULONGEST get_alignment (struct dwarf2_cu *cu, struct die_info *die)
 
static void maybe_set_alignment (struct dwarf2_cu *cu, struct die_info *die, struct type *type)
 
static bool is_valid_DW_AT_calling_convention_for_type (ULONGEST value)
 
static bool is_valid_DW_AT_calling_convention_for_subroutine (ULONGEST value)
 
static struct typeread_structure_type (struct die_info *die, struct dwarf2_cu *cu)
 
static void handle_struct_member_die (struct die_info *child_die, struct type *type, struct field_info *fi, std::vector< struct symbol * > *template_args, struct dwarf2_cu *cu)
 
static void handle_variant_part (struct die_info *die, struct type *type, struct field_info *fi, std::vector< struct symbol * > *template_args, struct dwarf2_cu *cu)
 
static void handle_variant (struct die_info *die, struct type *type, struct field_info *fi, std::vector< struct symbol * > *template_args, 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 bool recognize_bound_expression (struct die_info *die, enum dwarf_attribute name, int *bounds_offset, struct field *field, struct dwarf2_cu *cu)
 
static struct typequirk_ada_thick_pointer (struct die_info *die, struct dwarf2_cu *cu, struct type *type)
 
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 void get_mpz (struct dwarf2_cu *cu, gdb_mpz *value, struct attribute *attr)
 
static void get_dwarf2_rational_constant (struct die_info *die, struct dwarf2_cu *cu, gdb_mpz *numerator, gdb_mpz *denominator)
 
static void get_dwarf2_unsigned_rational_constant (struct die_info *die, struct dwarf2_cu *cu, gdb_mpz *numerator, gdb_mpz *denominator)
 
static bool ada_get_gnat_encoded_number (const char *encoding, int &k, gdb_mpz *result)
 
static bool ada_get_gnat_encoded_ratio (const char *encoding, int &offset, gdb_mpz *num, gdb_mpz *denom)
 
static void finish_fixed_point_type (struct type *type, const char *suffix, struct die_info *die, struct dwarf2_cu *cu)
 
static const char * gnat_encoded_fixed_point_type_info (const char *name)
 
static struct typedwarf2_init_float_type (struct objfile *objfile, int bits, const char *name, const char *name_hint, enum bfd_endian byte_order)
 
static struct typedwarf2_init_integer_type (struct dwarf2_cu *cu, struct objfile *objfile, int bits, int unsigned_p, const char *name)
 
static bool has_zero_over_zero_small_attribute (struct die_info *die, struct dwarf2_cu *cu)
 
static struct typedwarf2_init_complex_target_type (struct dwarf2_cu *cu, struct objfile *objfile, int bits, const char *name_hint, enum bfd_endian byte_order)
 
static struct typeread_base_type (struct die_info *die, struct dwarf2_cu *cu)
 
static const char * var_decl_name (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 bool tag_can_have_linkage_name (enum dwarf_tag tag)
 
static void read_loclists_rnglists_header (struct loclists_rnglists_header *header, struct dwarf2_section_info *section, sect_offset header_offset)
 
static ULONGEST lookup_loclist_base (struct dwarf2_cu *cu)
 
static sect_offset read_loclist_index (struct dwarf2_cu *cu, ULONGEST loclist_index)
 
static sect_offset read_rnglist_index (struct dwarf2_cu *cu, ULONGEST rnglist_index, dwarf_tag tag)
 
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 CORE_ADDR read_addr_index_1 (dwarf2_per_objfile *per_objfile, unsigned int addr_index, gdb::optional< ULONGEST > addr_base, int addr_size)
 
CORE_ADDR dwarf2_read_addr_index (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, unsigned int addr_index)
 
static const char * read_str_index (struct dwarf2_cu *cu, struct dwarf2_section_info *str_section, struct dwarf2_section_info *str_offsets_section, ULONGEST str_offsets_base, ULONGEST str_index, unsigned offset_size)
 
static int leb128_size (const gdb_byte *buf)
 
static enum language dwarf_lang_to_enum_language (unsigned int lang)
 
static struct dwarf2_section_infoget_debug_line_section (struct dwarf2_cu *cu)
 
static int dwarf_record_line_p (struct dwarf2_cu *cu, 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, linetable_entry_flags flags, struct dwarf2_cu *cu)
 
static void dwarf_finish_line (struct gdbarch *gdbarch, struct subfile *subfile, CORE_ADDR address, struct dwarf2_cu *cu)
 
static void dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu, CORE_ADDR lowpc)
 
static gdb_byte * dwarf2_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 const 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 const char * unnamed_template_tag_name (die_info *die, 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, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, gdb::function_view< CORE_ADDR()> get_frame_pc, bool resolve_abstract_p)
 
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off (cu_offset offset_in_cu, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, gdb::function_view< CORE_ADDR()> get_frame_pc)
 
static const gdb_byte * write_constant_as_bytes (struct obstack *obstack, enum bfd_endian byte_order, struct type *type, ULONGEST value, LONGEST *len)
 
const gdb_byte * dwarf2_fetch_constant_bytes (sect_offset sect_off, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, obstack *obstack, LONGEST *len)
 
struct typedwarf2_fetch_die_type_sect_off (sect_offset sect_off, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, const char **var_name)
 
struct typedwarf2_get_die_type (cu_offset die_offset, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile)
 
static struct die_infofollow_die_sig_1 (struct die_info *src_die, struct signatured_type *sig_type, struct dwarf2_cu **ref_cu)
 
static int dwarf2_find_containing_comp_unit (sect_offset sect_off, unsigned int offset_in_dwz, const std::vector< dwarf2_per_cu_data_up > &all_units)
 
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 void show_check_physname (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
void _initialize_dwarf2_read ()
 

Variables

static unsigned int dwarf_read_debug = 0
 
static unsigned int dwarf_die_debug = 0
 
unsigned int dwarf_line_debug = 0
 
static bool check_physname = false
 
static bool use_deprecated_index_sections = false
 
static const registry< objfile >::key< dwarf2_per_objfiledwarf2_objfile_data_key
 
static const registry< bfd >::key< dwarf2_per_bfddwarf2_per_bfd_bfd_data_key
 
static const registry< objfile >::key< dwarf2_per_bfddwarf2_per_bfd_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
 
const struct dwarf2_debug_sections dwarf2_elf_names
 
static const struct dwop_section_names dwop_section_names
 
static int bits_per_byte = 8
 
static int dwarf_max_cache_age = 5
 
static const gdb_byte dwarf5_augmentation [] = { 'G', 'D', 'B', 0 }
 
struct cmd_list_elementset_dwarf_cmdlist
 
struct cmd_list_elementshow_dwarf_cmdlist
 

Macro Definition Documentation

◆ dwarf_read_debug_printf

#define dwarf_read_debug_printf (   fmt,
  ... 
)
Value:
debug_prefixed_printf_cond (dwarf_read_debug >= 1, "dwarf-read", fmt, \
##__VA_ARGS__)
static unsigned int dwarf_read_debug
Definition read.c:100

Definition at line 104 of file read.c.

◆ dwarf_read_debug_printf_v

#define dwarf_read_debug_printf_v (   fmt,
  ... 
)
Value:
debug_prefixed_printf_cond (dwarf_read_debug >= 2, "dwarf-read", fmt, \
##__VA_ARGS__)

Definition at line 110 of file read.c.

◆ GNAT_FIXED_POINT_SUFFIX

#define GNAT_FIXED_POINT_SUFFIX   "___XF_"

Definition at line 17014 of file read.c.

◆ LOCLIST_HEADER_SIZE32

#define LOCLIST_HEADER_SIZE32   12

Definition at line 150 of file read.c.

◆ LOCLIST_HEADER_SIZE64

#define LOCLIST_HEADER_SIZE64   20

Definition at line 153 of file read.c.

◆ MAX_NESTED_IMPORTED_DECLARATIONS

#define MAX_NESTED_IMPORTED_DECLARATIONS   100

◆ 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 */)

◆ 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 623 of file read.c.

◆ MAX_NR_V5_DWO_SECTIONS

#define MAX_NR_V5_DWO_SECTIONS
Value:
(1 /* .debug_info */ \
+ 1 /* .debug_abbrev */ \
+ 1 /* .debug_line */ \
+ 1 /* .debug_loclists */ \
+ 1 /* .debug_str_offsets */ \
+ 1 /* .debug_macro */ \
+ 1 /* .debug_rnglists */)

Definition at line 638 of file read.c.

◆ MAX_SEP_LEN

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

Definition at line 21927 of file read.c.

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)

Definition at line 6529 of file read.c.

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10

Definition at line 6530 of file read.c.

◆ RNGLIST_HEADER_SIZE32

#define RNGLIST_HEADER_SIZE32   12

Definition at line 156 of file read.c.

◆ RNGLIST_HEADER_SIZE64

#define RNGLIST_HEADER_SIZE64   20

Definition at line 159 of file read.c.

◆ RUST_ENUM_PREFIX

#define RUST_ENUM_PREFIX   "RUST$ENCODED$ENUM$"

Typedef Documentation

◆ dwo_file_up

typedef std::unique_ptr<struct dwo_file> dwo_file_up

Definition at line 1313 of file read.c.

◆ get_gdb_index_contents_dwz_ftype

typedef gdb::function_view<gdb::array_view<const gdb_byte>(objfile *, dwz_file *)> get_gdb_index_contents_dwz_ftype

Definition at line 2643 of file read.c.

◆ get_gdb_index_contents_ftype

typedef gdb::function_view<gdb::array_view<const gdb_byte>(objfile *, dwarf2_per_bfd *)> get_gdb_index_contents_ftype

Definition at line 2640 of file read.c.

◆ offset_map_type

typedef std::unordered_map<sect_offset, int, gdb::hash_enum<sect_offset> > offset_map_type

Definition at line 13806 of file read.c.

Enumeration Type Documentation

◆ dwp_v2_section_ids

Enumerator
DW_SECT_MIN 

Definition at line 474 of file read.c.

◆ pc_bounds_kind

Enumerator
PC_BOUNDS_NOT_PRESENT 
PC_BOUNDS_INVALID 
PC_BOUNDS_RANGES 
PC_BOUNDS_HIGH_LOW 

Definition at line 1026 of file read.c.

Function Documentation

◆ _initialize_dwarf2_read()

void _initialize_dwarf2_read ( )

Definition at line 24061 of file read.c.

Referenced by initialize_all_files().

◆ ada_get_gnat_encoded_number()

static bool ada_get_gnat_encoded_number ( const char *  encoding,
int &  k,
gdb_mpz result 
)
static

Definition at line 16872 of file read.c.

References gdb_mpz::val.

Referenced by ada_get_gnat_encoded_ratio().

◆ ada_get_gnat_encoded_ratio()

static bool ada_get_gnat_encoded_ratio ( const char *  encoding,
int &  offset,
gdb_mpz num,
gdb_mpz denom 
)
static

Definition at line 16902 of file read.c.

References ada_get_gnat_encoded_number().

Referenced by finish_fixed_point_type().

◆ 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_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 ( dwarf2_per_objfile per_objfile,
ULONGEST  sig,
void **  slot 
)
static

◆ add_variant_property()

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

◆ alloc_rust_variant()

static void alloc_rust_variant ( struct obstack *  obstack,
struct type type,
int  discriminant_index,
int  default_index,
gdb::array_view< discriminant_range ranges 
)
static

◆ allocate_dwo_file_hash_table()

static htab_up allocate_dwo_file_hash_table ( )
static

Definition at line 9903 of file read.c.

References eq_dwo_file(), hash_dwo_file(), xcalloc(), and xfree().

Referenced by lookup_dwo_file_slot().

◆ allocate_dwo_unit_table()

static htab_up allocate_dwo_unit_table ( )
static

Definition at line 9959 of file read.c.

References eq_dwo_unit(), hash_dwo_unit(), xcalloc(), and xfree().

Referenced by create_cus_hash_table(), and create_debug_type_hash_table().

◆ allocate_dwp_loaded_cutus_table()

static htab_up allocate_dwp_loaded_cutus_table ( )
static

Definition at line 11485 of file read.c.

References eq_dwp_loaded_cutus(), hash_dwp_loaded_cutus(), xcalloc(), and xfree().

Referenced by open_and_init_dwp_file().

◆ allocate_signatured_type_table()

static htab_up allocate_signatured_type_table ( )
static

◆ allocate_type_unit_groups_table()

static htab_up allocate_type_unit_groups_table ( )
static

Definition at line 6517 of file read.c.

References eq_type_unit_group(), hash_type_unit_group(), xcalloc(), and xfree().

Referenced by get_type_unit_group().

◆ anonymous_struct_prefix()

static const char * anonymous_struct_prefix ( struct die_info die,
struct dwarf2_cu cu 
)
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,
struct type type 
)
static

◆ build_error_marker_type()

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

◆ build_type_psymtabs()

static void build_type_psymtabs ( dwarf2_per_objfile per_objfile,
cooked_index_storage storage 
)
static

◆ build_type_psymtabs_reader()

static void build_type_psymtabs_reader ( cutu_reader reader,
cooked_index_storage storage 
)
static

◆ check_modifier()

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

Definition at line 7804 of file read.c.

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 ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile 
)
static

◆ compute_delayed_physnames()

static void compute_delayed_physnames ( struct dwarf2_cu cu)
static

◆ compute_include_file_name()

static const char * compute_include_file_name ( const struct line_header lh,
const file_entry fe,
const file_and_directory cu_info,
std::string &  name_holder 
)
static

◆ convert_variant_range()

static const gdb::array_view< discriminant_range > convert_variant_range ( struct obstack *  obstack,
const variant_field variant,
bool  is_unsigned 
)
static

Definition at line 13814 of file read.c.

References complaint, read_signed_leb128(), and read_unsigned_leb128().

Referenced by create_one_variant().

◆ create_addrmap_from_aranges()

static void create_addrmap_from_aranges ( dwarf2_per_objfile per_objfile,
struct dwarf2_section_info section 
)
static

◆ create_addrmap_from_index()

static void create_addrmap_from_index ( dwarf2_per_objfile per_objfile,
struct mapped_index index 
)
static

◆ create_all_units()

static void create_all_units ( dwarf2_per_objfile per_objfile)
static

◆ create_cu_from_index_list()

static dwarf2_per_cu_data_up create_cu_from_index_list ( dwarf2_per_bfd per_bfd,
struct dwarf2_section_info section,
int  is_dwz,
sect_offset  sect_off,
ULONGEST  length 
)
static

◆ create_cus_from_debug_names()

static bool create_cus_from_debug_names ( dwarf2_per_bfd per_bfd,
const mapped_debug_names map,
const mapped_debug_names dwz_map 
)
static

◆ create_cus_from_debug_names_list()

static bool create_cus_from_debug_names_list ( dwarf2_per_bfd per_bfd,
const mapped_debug_names map,
dwarf2_section_info section,
bool  is_dwz 
)
static

◆ create_cus_from_index()

static void create_cus_from_index ( dwarf2_per_bfd per_bfd,
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 ( dwarf2_per_bfd per_bfd,
const gdb_byte *  cu_list,
offset_type  n_elements,
struct dwarf2_section_info section,
int  is_dwz 
)
static

◆ create_cus_hash_table()

static void create_cus_hash_table ( dwarf2_per_objfile per_objfile,
dwarf2_cu cu,
struct dwo_file dwo_file,
dwarf2_section_info section,
htab_up &  cus_htab 
)
static

◆ create_debug_type_hash_table()

static void create_debug_type_hash_table ( dwarf2_per_objfile per_objfile,
struct dwo_file dwo_file,
dwarf2_section_info section,
htab_up &  types_htab,
rcuh_kind  section_kind 
)
static

◆ create_debug_types_hash_table()

static void create_debug_types_hash_table ( dwarf2_per_objfile per_objfile,
struct dwo_file dwo_file,
gdb::array_view< dwarf2_section_info type_sections,
htab_up &  types_htab 
)
static

Definition at line 5651 of file read.c.

References create_debug_type_hash_table(), and TYPE.

Referenced by open_and_init_dwo_file().

◆ 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,
struct dwo_file dwo_file,
struct dwo_unit dwo_unit 
)
static

◆ create_dwo_unit_in_dwp_v1()

static struct dwo_unit * create_dwo_unit_in_dwp_v1 ( dwarf2_per_objfile per_objfile,
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 ( dwarf2_per_objfile per_objfile,
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_v5()

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

◆ create_dwp_hash_table()

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

◆ create_dwp_v2_or_v5_section()

static struct dwarf2_section_info create_dwp_v2_or_v5_section ( dwarf2_per_objfile per_objfile,
struct dwarf2_section_info section,
bfd_size_type  offset,
bfd_size_type  size 
)
static

◆ create_one_variant()

static void create_one_variant ( variant result,
struct obstack *  obstack,
const offset_map_type offset_map,
struct field_info fi,
const variant_field field 
)
static

◆ create_one_variant_part()

static void create_one_variant_part ( variant_part result,
struct obstack *  obstack,
const offset_map_type offset_map,
struct field_info fi,
const variant_part_builder builder 
)
static

◆ create_quick_file_names_table()

static htab_up 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 ( dwarf2_per_objfile per_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 ( dwarf2_per_bfd per_bfd,
struct dwarf2_section_info section,
const gdb_byte *  bytes,
offset_type  elements 
)
static

◆ create_type_unit_group()

static std::unique_ptr< type_unit_group > create_type_unit_group ( struct dwarf2_cu cu,
sect_offset  line_offset_struct 
)
static

Definition at line 6536 of file read.c.

References dwarf2_cu::dwo_unit.

Referenced by get_type_unit_group().

◆ create_variant_parts()

static const gdb::array_view< variant_part > create_variant_parts ( struct obstack *  obstack,
const offset_map_type offset_map,
struct field_info fi,
const std::vector< variant_part_builder > &  variant_parts 
)
static

Definition at line 13953 of file read.c.

References create_one_variant_part().

Referenced by add_variant_property(), and create_one_variant().

◆ cu_debug_loc_section()

static struct dwarf2_section_info * cu_debug_loc_section ( struct dwarf2_cu cu)
static

◆ cu_debug_rnglists_section()

static struct dwarf2_section_info * cu_debug_rnglists_section ( struct dwarf2_cu cu,
dwarf_tag  tag 
)
static

◆ decode_locdesc()

static CORE_ADDR decode_locdesc ( struct dwarf_block blk,
struct dwarf2_cu cu,
bool *  computed = nullptr 
)
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 21404 of file read.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 7723 of file read.c.

References die_info::sect_off.

Referenced by load_full_comp_unit(), and read_signatured_type().

◆ die_hash()

static hashval_t die_hash ( const void *  item)
static

Definition at line 7712 of file read.c.

References die_info::sect_off.

Referenced by load_full_comp_unit(), and read_signatured_type().

◆ 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 22338 of file read.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

Definition at line 22302 of file read.c.

References die_info::child, dump_die_1(), dump_die_shallow(), f(), gdb_printf(), and die_info::sibling.

Referenced by dump_die(), and dump_die_1().

◆ dump_die_for_error()

static void dump_die_for_error ( struct die_info die)
static

Definition at line 22296 of file read.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_do_instantiate_symtab()

static void dw2_do_instantiate_symtab ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
bool  skip_partial 
)
static

◆ dw2_expand_marked_cus()

static bool dw2_expand_marked_cus ( dwarf2_per_objfile per_objfile,
offset_type  idx,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype expansion_notify,
block_search_flags  search_flags,
search_domain  kind 
)
static

◆ dw2_expand_symtabs_matching_one()

static bool dw2_expand_symtabs_matching_one ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
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 bool 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,
gdb::function_view< bool(offset_type)>  match_callback,
dwarf2_per_objfile per_objfile 
)
static

◆ dw2_get_file_names()

static struct quick_file_names * dw2_get_file_names ( dwarf2_per_cu_data this_cu,
dwarf2_per_objfile per_objfile 
)
static

◆ dw2_get_file_names_reader()

static void dw2_get_file_names_reader ( const struct die_reader_specs reader,
struct die_info comp_unit_die 
)
static

◆ dw2_get_real_path()

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

◆ dw2_instantiate_symtab()

static struct compunit_symtab * dw2_instantiate_symtab ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
bool  skip_partial 
)
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 8849 of file read.c.

References dwarf2_attr().

Referenced by anonymous_struct_prefix(), and dwarf2_name().

◆ dw2_symtab_iter_init()

static void dw2_symtab_iter_init ( struct dw2_symtab_iterator iter,
dwarf2_per_objfile per_objfile,
gdb::optional< block_enum block_index,
domain_enum  domain,
offset_type  namei,
mapped_index index 
)
static

◆ dw2_symtab_iter_next()

static struct dwarf2_per_cu_data * dw2_symtab_iter_next ( struct dw2_symtab_iterator iter,
mapped_index index 
)
static

◆ dw_expand_symtabs_matching_file_matcher()

static void dw_expand_symtabs_matching_file_matcher ( dwarf2_per_objfile per_objfile,
gdb::function_view< expand_symtabs_file_matcher_ftype file_matcher 
)
static

◆ dwarf2_access_attribute()

static enum dwarf_access_attribute dwarf2_access_attribute ( struct die_info die,
struct dwarf2_cu 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 19706 of file read.c.

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

Referenced by attr_to_dynamic_prop(), 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_access_attribute(), dwarf2_add_field(), dwarf2_add_member_fn(), 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(), finish_fixed_point_type(), get_alignment(), get_dwarf2_rational_constant(), handle_DW_AT_stmt_list(), handle_member_location(), handle_member_location(), handle_variant(), handle_variant_part(), has_zero_over_zero_small_attribute(), inherit_abstract_dies(), lookup_dwo_id(), new_symbol(), prepare_one_comp_unit(), process_imported_unit_die(), process_structure_scope(), prototyped_function_p(), quirk_ada_thick_pointer(), read_alias(), 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_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(), read_variable(), recognize_bound_expression(), rust_containing_type(), set_die_type(), dwarf2_cu::setup_type_unit_groups(), unnamed_template_tag_name(), update_enumeration_type_from_children(), and var_decl_name().

◆ dwarf2_build_psymtabs()

static void dwarf2_build_psymtabs ( struct objfile objfile)
static

◆ dwarf2_build_psymtabs_hard()

static void dwarf2_build_psymtabs_hard ( dwarf2_per_objfile per_objfile)
static

◆ dwarf2_canonicalize_name()

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

◆ 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 1341 of file read.c.

References complaint.

Referenced by dwarf2_const_value_attr().

◆ dwarf2_debug_line_missing_end_sequence_complaint()

static void dwarf2_debug_line_missing_end_sequence_complaint ( void  )
static

Definition at line 1328 of file read.c.

References complaint.

Referenced by dwarf_decode_lines_1().

◆ dwarf2_debug_line_missing_file_complaint()

static void dwarf2_debug_line_missing_file_complaint ( void  )
static

Definition at line 1322 of file read.c.

References complaint.

Referenced by lnp_state_machine::handle_set_file(), and lnp_state_machine::record_line().

◆ dwarf2_dwo_name()

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

Definition at line 19758 of file read.c.

References dwarf2_string_attr().

Referenced by cutu_reader::cutu_reader(), and lookup_dwo_unit().

◆ dwarf2_extension()

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

Definition at line 22162 of file read.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,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
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,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
gdb::function_view< CORE_ADDR()>  get_frame_pc 
)

◆ dwarf2_fetch_die_loc_sect_off()

struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off ( sect_offset  sect_off,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
gdb::function_view< CORE_ADDR()>  get_frame_pc,
bool  resolve_abstract_p 
)

◆ dwarf2_fetch_die_type_sect_off()

struct type * dwarf2_fetch_die_type_sect_off ( sect_offset  sect_off,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
const char **  var_name 
)

◆ dwarf2_find_base_address()

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

◆ dwarf2_find_containing_comp_unit() [1/2]

static int dwarf2_find_containing_comp_unit ( sect_offset  sect_off,
unsigned int  offset_in_dwz,
const std::vector< dwarf2_per_cu_data_up > &  all_units 
)
static

◆ dwarf2_find_containing_comp_unit() [2/2]

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

◆ dwarf2_flag_true_p()

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

◆ dwarf2_full_name()

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

◆ dwarf2_get_die_type()

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

◆ 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,
addrmap map,
void *  datum 
)
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,
bool  can_copy 
)

◆ dwarf2_init_complex_target_type()

static struct type * dwarf2_init_complex_target_type ( struct dwarf2_cu cu,
struct objfile objfile,
int  bits,
const char *  name_hint,
enum bfd_endian  byte_order 
)
static

◆ dwarf2_init_float_type()

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

◆ dwarf2_init_integer_type()

static struct type * dwarf2_init_integer_type ( struct dwarf2_cu cu,
struct objfile objfile,
int  bits,
int  unsigned_p,
const char *  name 
)
static

Definition at line 17050 of file read.c.

References bits, objfile_type::builtin_void, init_integer_type(), name, and producer_is_icc().

Referenced by read_base_type().

◆ dwarf2_initialize_objfile()

void dwarf2_initialize_objfile ( struct objfile objfile)

◆ 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 14095 of file read.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 ( struct objfile objfile,
bfd *  abfd,
asection *  sectp,
dwp_file dwp_file 
)
static

◆ dwarf2_locate_dwo_sections()

static void dwarf2_locate_dwo_sections ( struct objfile objfile,
bfd *  abfd,
asection *  sectp,
dwo_sections dwo_sections 
)
static

◆ dwarf2_locate_v2_dwp_sections()

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

◆ dwarf2_locate_v5_dwp_sections()

static void dwarf2_locate_v5_dwp_sections ( struct objfile objfile,
bfd *  abfd,
asection *  sectp,
void *  dwp_file_ptr 
)
static

◆ dwarf2_name()

static const char * dwarf2_name ( struct die_info die,
struct dwarf2_cu cu 
)
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,
dwarf_tag  tag,
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,
addrmap map,
void *  datum,
dwarf_tag  tag 
)
static

◆ dwarf2_ranges_read_low_addrs()

static void dwarf2_ranges_read_low_addrs ( unsigned  offset,
struct dwarf2_cu cu,
dwarf_tag  tag,
std::vector< CORE_ADDR > &  result 
)
static

Definition at line 13090 of file read.c.

References dwarf2_ranges_process().

Referenced by read_call_site_scope().

◆ dwarf2_read_addr_index()

CORE_ADDR dwarf2_read_addr_index ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
unsigned int  addr_index 
)

◆ dwarf2_read_debug_names()

static bool dwarf2_read_debug_names ( dwarf2_per_objfile per_objfile)
static

◆ dwarf2_read_gdb_index()

static int dwarf2_read_gdb_index ( dwarf2_per_objfile per_objfile,
get_gdb_index_contents_ftype  get_gdb_index_contents,
get_gdb_index_contents_dwz_ftype  get_gdb_index_contents_dwz 
)
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_rnglists_process()

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

◆ dwarf2_start_subfile()

static void dwarf2_start_subfile ( dwarf2_cu cu,
const file_entry fe,
const line_header lh 
)
static

◆ 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

◆ dwarf_alloc_block()

static struct dwarf_block * dwarf_alloc_block ( struct dwarf2_cu cu)
static

Definition at line 23325 of file read.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 23331 of file read.c.

References dwarf2_cu::comp_unit_obstack, die_info::num_attrs, and size.

Referenced by read_full_die_1().

◆ dwarf_decode_line_header()

static line_header_up dwarf_decode_line_header ( sect_offset  sect_off,
struct dwarf2_cu cu,
const char *  comp_dir 
)
static

◆ dwarf_decode_lines()

static void dwarf_decode_lines ( struct line_header lh,
struct dwarf2_cu cu,
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,
CORE_ADDR  lowpc 
)
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,
struct dwarf2_cu cu 
)
static

◆ dwarf_lang_to_enum_language()

static enum language dwarf_lang_to_enum_language ( unsigned int  lang)
static

◆ dwarf_record_line_1()

static void dwarf_record_line_1 ( struct gdbarch gdbarch,
struct subfile subfile,
unsigned int  line,
CORE_ADDR  address,
linetable_entry_flags  flags,
struct dwarf2_cu cu 
)
static

◆ dwarf_record_line_p()

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

◆ eq_dwo_file()

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

Definition at line 9888 of file read.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 9943 of file read.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 11474 of file read.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 1992 of file read.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 5526 of file read.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 6506 of file read.c.

References eq_stmt_list_entry().

Referenced by allocate_type_unit_groups_table().

◆ 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 ( dwarf2_per_objfile per_objfile,
struct signatured_type sig_entry,
struct dwo_unit dwo_entry 
)
static

◆ finalize_all_units()

static void finalize_all_units ( dwarf2_per_bfd per_bfd)
static

Definition at line 7277 of file read.c.

References objfile::per_bfd.

Referenced by create_all_units(), dwarf2_read_debug_names(), and dwarf2_read_gdb_index().

◆ find_file_and_directory()

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

◆ finish_fixed_point_type()

static void finish_fixed_point_type ( struct type type,
const char *  suffix,
struct die_info die,
struct dwarf2_cu cu 
)
static

◆ fixup_go_packaging()

static void fixup_go_packaging ( 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

◆ get_abbrev_section_for_cu()

static struct dwarf2_section_info * get_abbrev_section_for_cu ( struct dwarf2_per_cu_data this_cu)
static

◆ get_alignment()

static ULONGEST get_alignment ( struct dwarf2_cu cu,
struct die_info die 
)
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,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile 
)
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_dwarf2_per_objfile()

dwarf2_per_objfile * get_dwarf2_per_objfile ( struct objfile objfile)

◆ get_dwarf2_rational_constant()

static void get_dwarf2_rational_constant ( struct die_info die,
struct dwarf2_cu cu,
gdb_mpz numerator,
gdb_mpz denominator 
)
static

◆ get_dwarf2_unsigned_rational_constant()

static void get_dwarf2_unsigned_rational_constant ( struct die_info die,
struct dwarf2_cu cu,
gdb_mpz numerator,
gdb_mpz denominator 
)
static

◆ get_dwp_file()

static struct dwp_file * get_dwp_file ( dwarf2_per_objfile per_objfile)
static

◆ get_gdb_index_contents_from_cache()

static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_cache ( objfile obj,
dwarf2_per_bfd dwarf2_per_bfd 
)
static

◆ get_gdb_index_contents_from_cache_dwz()

static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_cache_dwz ( objfile obj,
dwz_file dwz 
)
static

◆ get_gdb_index_contents_from_section()

template<typename T >
static gdb::array_view< const gdb_byte > get_gdb_index_contents_from_section ( objfile obj,
T section_owner 
)
static

◆ get_mpz()

static void get_mpz ( struct dwarf2_cu cu,
gdb_mpz value,
struct attribute attr 
)
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_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

◆ gnat_encoded_fixed_point_type_info()

static const char * gnat_encoded_fixed_point_type_info ( const char *  name)
static

Definition at line 17021 of file read.c.

References GNAT_FIXED_POINT_SUFFIX, and name.

Referenced by read_base_type().

◆ guess_full_die_structure_name()

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

◆ handle_DW_AT_stmt_list()

static void handle_DW_AT_stmt_list ( struct die_info die,
struct dwarf2_cu cu,
const file_and_directory fnd,
CORE_ADDR  lowpc,
bool  have_code 
)
static

◆ handle_member_location() [1/2]

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

◆ handle_member_location() [2/2]

static void handle_member_location ( struct die_info die,
struct dwarf2_cu cu,
struct field field 
)
static

◆ handle_struct_member_die()

static void handle_struct_member_die ( struct die_info child_die,
struct type type,
struct field_info fi,
std::vector< struct symbol * > *  template_args,
struct dwarf2_cu cu 
)
static

◆ handle_variant()

static void handle_variant ( struct die_info die,
struct type type,
struct field_info fi,
std::vector< struct symbol * > *  template_args,
struct dwarf2_cu cu 
)
static

◆ handle_variant_part()

static void handle_variant_part ( struct die_info die,
struct type type,
struct field_info fi,
std::vector< struct symbol * > *  template_args,
struct dwarf2_cu cu 
)
static

◆ has_zero_over_zero_small_attribute()

static bool has_zero_over_zero_small_attribute ( struct die_info die,
struct dwarf2_cu cu 
)
static

◆ hash_dwo_file()

static hashval_t hash_dwo_file ( const void *  item)
static

Definition at line 9876 of file read.c.

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

Referenced by allocate_dwo_file_hash_table().

◆ hash_dwo_unit()

static hashval_t hash_dwo_unit ( const void *  item)
static

Definition at line 9934 of file read.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 11463 of file read.c.

References dwo_unit::signature.

Referenced by allocate_dwp_loaded_cutus_table().

◆ hash_file_name_entry()

static hashval_t hash_file_name_entry ( const void *  e)
static

Definition at line 1981 of file read.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 5516 of file read.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 6497 of file read.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,
struct abbrev_table abbrev_table 
)
static

◆ is_valid_DW_AT_calling_convention_for_subroutine()

static bool is_valid_DW_AT_calling_convention_for_subroutine ( ULONGEST  value)
static

Definition at line 14582 of file read.c.

References complaint.

Referenced by read_subroutine_type().

◆ is_valid_DW_AT_calling_convention_for_type()

static bool is_valid_DW_AT_calling_convention_for_type ( ULONGEST  value)
static

Definition at line 14561 of file read.c.

References complaint.

Referenced by read_structure_type().

◆ is_vtable_name()

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

Definition at line 14348 of file read.c.

References is_cplus_marker(), and name.

Referenced by process_structure_scope().

◆ leb128_size()

static int leb128_size ( const gdb_byte *  buf)
static

Definition at line 19624 of file read.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 1376 of file read.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

Definition at line 1358 of file read.c.

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

Referenced by handle_DW_AT_stmt_list(), and line_header_hash_voidp().

◆ line_header_hash_voidp()

static hashval_t line_header_hash_voidp ( const void *  item)
static

Definition at line 1366 of file read.c.

References line_header_hash().

Referenced by handle_DW_AT_stmt_list().

◆ load_cu()

static dwarf2_cu * load_cu ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
bool  skip_partial 
)
static

◆ load_full_comp_unit()

static void load_full_comp_unit ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
dwarf2_cu existing_cu,
bool  skip_partial,
enum language  pretend_language 
)
static

◆ load_full_type_unit()

static void load_full_type_unit ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile 
)
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 ( dwarf2_cu cu,
const char *  dwo_name,
const char *  comp_dir,
ULONGEST  signature 
)
static

◆ lookup_dwo_cutu()

static struct dwo_unit * lookup_dwo_cutu ( dwarf2_cu cu,
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 ( dwarf2_per_objfile per_objfile,
const char *  dwo_name,
const char *  comp_dir 
)
static

◆ lookup_dwo_id()

static gdb::optional< ULONGEST > lookup_dwo_id ( struct dwarf2_cu cu,
struct die_info comp_unit_die 
)
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 ( dwarf2_cu cu,
const char *  dwo_name,
const char *  comp_dir 
)
static

◆ lookup_dwo_unit()

static struct dwo_unit * lookup_dwo_unit ( dwarf2_cu cu,
die_info comp_unit_die,
const char *  dwo_name 
)
static

◆ lookup_dwo_unit_in_dwp()

static struct dwo_unit * lookup_dwo_unit_in_dwp ( dwarf2_per_objfile per_objfile,
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_loclist_base()

static ULONGEST lookup_loclist_base ( struct dwarf2_cu cu)
static

◆ lookup_signatured_type()

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

◆ make_cooked_index_funcs()

static quick_symbol_functions_up make_cooked_index_funcs ( )
static

◆ make_sort_after_prefix_name()

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

Definition at line 3190 of file read.c.

Referenced by mapped_index_base::find_name_components_bounds().

◆ 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,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
enum language  pretend_language 
)
static

◆ maybe_set_alignment()

static void maybe_set_alignment ( struct dwarf2_cu cu,
struct die_info die,
struct type type 
)
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 21392 of file read.c.

References dwarf2_cu::lang(), and language_ada.

Referenced by set_die_type().

◆ new_symbol()

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

Definition at line 20766 of file read.c.

References symbol::aclass(), add_symbol_to_list(), objfile::arch(), attribute::as_address(), attribute::as_boolean(), attribute::as_nonnegative(), dwarf2_per_bfd::can_copy, type::code(), COMMON_BLOCK_DOMAIN, complaint, attribute::constant_value(), cp_scan_for_anonymous_namespaces(), die_is_declaration(), die_type(), dw2_linkage_name(), dwarf2_attr(), dwarf2_const_value(), dwarf2_full_name(), dwarf2_name(), dwarf2_physname(), dwarf_tag_name(), line_header::file_name_at(), objfile::flags, gdbarch_adjust_dwarf2_addr(), dwarf2_cu::get_builder(), buildsym_compunit::get_current_context_stack(), buildsym_compunit::get_file_symbols(), buildsym_compunit::get_global_symbols(), dwarf2_per_bfd::has_section_at_zero, symbol::hash_next, attribute::is_nonnegative(), LABEL_DOMAIN, dwarf2_cu::lang(), language_ada, language_cplus, language_d, language_fortran, language_rust, dwarf2_cu::line_header, general_symbol_info::linkage_name(), dwarf2_cu::list_in_scope, LOC_BLOCK, LOC_COMMON_BLOCK, LOC_LABEL, LOC_OPTIMIZED_OUT, LOC_STATIC, LOC_TYPEDEF, LOC_UNRESOLVED, lookup_minimal_symbol_linkage(), symbol::maybe_copied, bound_minimal_symbol::minsym, MODULE_DOMAIN, name, context_stack::name, type::name(), OBJF_MAINLINE, dwarf2_per_objfile::objfile, objfile::objfile_obstack, OBJSTAT, die_info::parent, dwarf2_per_objfile::per_bfd, dwarf2_cu::per_objfile, dwarf2_cu::processing_has_namespace_info, general_symbol_info::search_name(), symbol::set_aclass_index(), general_symbol_info::set_demangled_name(), symbol::set_domain(), symbol::set_is_argument(), symbol::set_is_artificial(), symbol::set_is_inlined(), general_symbol_info::set_language(), symbol::set_line(), general_symbol_info::set_linkage_name(), type::set_name(), symbol::set_symtab(), symbol::set_type(), symbol::set_value_address(), STRUCT_DOMAIN, file_entry::symtab, die_info::tag, objfile::template_symbols, objfile::text_section_offset(), symbol::type(), symbol::value_address(), var_decode_location(), and VAR_DOMAIN.

Referenced by c_print_typedef(), dwarf2_add_field(), handle_struct_member_die(), language_defn::print_typedef(), ada_language::print_typedef(), m2_language::print_typedef(), pascal_language::print_typedef(), rust_language::print_typedef(), process_die(), process_enumeration_scope(), process_structure_scope(), read_alias(), read_common_block(), read_func_scope(), read_module(), read_namespace(), and read_variable().

◆ open_and_init_dwo_file()

static struct dwo_file * open_and_init_dwo_file ( dwarf2_cu cu,
const char *  dwo_name,
const char *  comp_dir 
)
static

◆ open_and_init_dwp_file()

static std::unique_ptr< struct dwp_file > open_and_init_dwp_file ( dwarf2_per_objfile per_objfile)
static

◆ open_dwo_file()

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

Definition at line 11212 of file read.c.

References debug_file_directory, and try_open_dwop_file().

Referenced by open_and_init_dwo_file().

◆ open_dwp_file()

static gdb_bfd_ref_ptr open_dwp_file ( dwarf2_per_objfile per_objfile,
const char *  file_name 
)
static

Definition at line 11500 of file read.c.

References debug_file_directory, and try_open_dwop_file().

Referenced by open_and_init_dwp_file().

◆ peek_abbrev_code()

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

◆ peek_die_abbrev()

static const struct abbrev_info * peek_die_abbrev ( const die_reader_specs reader,
const gdb_byte *  info_ptr,
unsigned int *  bytes_read 
)
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 ( dwarf2_per_objfile per_objfile)
static

◆ process_cu_includes()

static void process_cu_includes ( dwarf2_per_objfile per_objfile)
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 7056 of file read.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 ( dwarf2_cu cu,
enum language  pretend_language 
)
static

◆ process_full_type_unit()

static void process_full_type_unit ( dwarf2_cu 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 ( dwarf2_per_cu_data this_cu,
dwarf2_per_objfile per_objfile,
cooked_index_storage storage 
)
static

◆ process_queue()

static void process_queue ( dwarf2_per_objfile per_objfile)
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 ( dwarf2_per_objfile per_objfile,
cooked_index_storage storage 
)
static

◆ process_structure_scope()

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

◆ producer_is_clang()

bool producer_is_clang ( struct dwarf2_cu cu)

◆ producer_is_codewarrior()

static bool producer_is_codewarrior ( struct dwarf2_cu cu)
static

◆ producer_is_gcc_lt_4_3()

static bool producer_is_gcc_lt_4_3 ( struct dwarf2_cu cu)
static

◆ producer_is_gxx_lt_4_6()

static bool producer_is_gxx_lt_4_6 ( struct dwarf2_cu cu)
static

◆ producer_is_icc()

static bool producer_is_icc ( struct dwarf2_cu cu)
static

◆ producer_is_icc_lt_14()

static bool producer_is_icc_lt_14 ( struct dwarf2_cu cu)
static

◆ prototyped_function_p()

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

◆ queue_and_load_all_dwo_tus()

static void queue_and_load_all_dwo_tus ( dwarf2_cu 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 ( dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
enum language  pretend_language 
)
static

◆ quirk_ada_thick_pointer()

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

◆ quirk_ada_thick_pointer_struct()

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

◆ quirk_gcc_member_function_pointer()

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

◆ quirk_rust_enum()

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

◆ read_abbrev_offset()

static sect_offset read_abbrev_offset ( dwarf2_per_objfile per_objfile,
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 ( dwarf2_per_objfile per_objfile,
unsigned int  addr_index,
gdb::optional< 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_addrmap_from_aranges()

static bool read_addrmap_from_aranges ( dwarf2_per_objfile per_objfile,
struct dwarf2_section_info section,
addrmap mutable_map 
)
static

◆ read_alias()

static bool read_alias ( struct die_info die,
struct dwarf2_cu cu 
)
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,
const struct attr_abbrev abbrev,
const gdb_byte *  info_ptr 
)
static

◆ read_attribute_reprocess()

static void read_attribute_reprocess ( const struct die_reader_specs reader,
struct attribute attr,
dwarf_tag  tag 
)
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 12323 of file read.c.

References objfile::arch(), attribute::as_address(), attribute::as_block(), attribute::as_unsigned(), die_info::attr(), dwarf2_cu::call_site_htab, CALL_SITE_PARAMETER_DWARF_REG, CALL_SITE_PARAMETER_FB_OFFSET, CALL_SITE_PARAMETER_PARAM_OFFSET, die_info::child, complaint, dwarf2_locexpr_baton::data, call_site_parameter::data_value, call_site_parameter::data_value_size, die_is_declaration(), dw2_linkage_name(), dwarf2_attr(), dwarf2_flag_true_p(), dwarf2_get_pc_bounds(), dwarf2_physname(), dwarf2_ranges_read_low_addrs(), dwarf_block_to_dwarf_reg(), dwarf_block_to_sp_offset(), call_site_parameter_u::dwarf_reg, call_site::eq(), call_site_parameter_u::fb_offset, follow_die_ref(), attribute::form_is_block(), attribute::form_is_ref(), attribute::form_is_unsigned(), gdb_static_assert(), gdbarch_adjust_dwarf2_addr(), get_die_type(), attribute::get_ref_die_offset(), dwarf2_cu::gnu_ranges_base, call_site::hash(), call_site_parameter::kind, loc, dwarf2_per_objfile::objfile, objfile_name(), objfile::objfile_obstack, 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_cu::per_cu, dwarf2_locexpr_baton::per_cu, dwarf2_cu::per_objfile, dwarf2_locexpr_baton::per_objfile, call_site::per_objfile, die_info::sect_off, sect_offset_str(), die_info::sibling, dwarf_block::size, dwarf2_locexpr_baton::size, die_info::tag, call_site::tail_call_next, objfile::text_section_offset(), TYPE_TAIL_CALL_LIST, call_site_parameter::u, call_site_parameter::value, and call_site_parameter::value_size.

Referenced by process_die().

◆ read_common_block()

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

◆ read_comp_units_from_section()

static void read_comp_units_from_section ( dwarf2_per_objfile per_objfile,
struct dwarf2_section_info section,
struct dwarf2_section_info abbrev_section,
unsigned int  is_dwz,
htab_up &  types_htab,
rcuh_kind  section_kind 
)
static

◆ read_cutu_die_from_dwo()

static int read_cutu_die_from_dwo ( dwarf2_cu cu,
struct dwo_unit dwo_unit,
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,
abbrev_table_up result_dwo_abbrev_table 
)
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_dwo_str_index()

static const char * read_dwo_str_index ( const struct die_reader_specs reader,
ULONGEST  str_index 
)
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_full_die()

static const gdb_byte * read_full_die ( const struct die_reader_specs reader,
struct die_info **  diep,
const gdb_byte *  info_ptr 
)
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  num_extra_attrs 
)
static

◆ read_func_scope()

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

Definition at line 12022 of file read.c.

References dwarf2_cu::addr_type(), objfile::arch(), attribute::as_boolean(), attribute::as_nonnegative(), attr_to_dynamic_prop(), block_set_scope(), die_info::child, complaint, determine_prefix(), die_specification(), dw2_linkage_name(), dwarf2_attr(), dwarf2_flag_true_p(), dwarf2_get_pc_bounds(), dwarf2_name(), dwarf2_record_block_ranges(), dwarf2_symbol_mark_computed(), buildsym_compunit::finish_block(), gdbarch_adjust_dwarf2_addr(), gdbarch_make_symbol_special(), dwarf2_cu::get_builder(), buildsym_compunit::get_file_symbols(), buildsym_compunit::get_local_symbols(), have_complaint(), inherit_abstract_dies(), attribute::is_nonnegative(), dwarf2_cu::lang(), language_cplus, language_d, language_fortran, language_rust, general_symbol_info::linkage_name(), dwarf2_cu::list_in_scope, context_stack::local_using_directives, context_stack::locals, template_symbol::n_template_arguments, name, context_stack::name, new_symbol(), dwarf2_per_objfile::objfile, objfile::objfile_obstack, context_stack::old_blocks, buildsym_compunit::outermost_context_p(), PC_BOUNDS_INVALID, dwarf2_cu::per_objfile, buildsym_compunit::pop_context(), process_die(), dwarf2_cu::processing_has_namespace_info, buildsym_compunit::push_context(), read_lexical_block_scope(), read_type_die(), die_info::sect_off, sect_offset_str(), buildsym_compunit::set_local_using_directives(), set_objfile_main_name(), die_info::sibling, context_stack::static_link, symbol::subclass, SYMBOL_TEMPLATE, symbol::symtab, die_info::tag, template_symbol::template_arguments, and objfile::text_section_offset().

Referenced by handle_struct_member_die(), and process_die().

◆ read_gdb_index_from_buffer()

static bool read_gdb_index_from_buffer ( const char *  filename,
bool  deprecated_ok,
gdb::array_view< const gdb_byte >  buffer,
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_import_statement()

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

◆ read_indirect_string()

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

Definition at line 19364 of file read.c.

References read_indirect_string_at_offset(), and comp_unit_head::read_offset().

Referenced by read_attribute_value().

◆ read_indirect_string_at_offset()

static const char * read_indirect_string_at_offset ( dwarf2_per_objfile per_objfile,
LONGEST  str_offset 
)
static

◆ read_lexical_block_scope()

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

◆ read_loclist_index()

static sect_offset read_loclist_index ( struct dwarf2_cu cu,
ULONGEST  loclist_index 
)
static

◆ read_loclists_rnglists_header()

static void read_loclists_rnglists_header ( struct loclists_rnglists_header header,
struct dwarf2_section_info section,
sect_offset  header_offset 
)
static

◆ read_module()

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

Definition at line 16133 of file read.c.

References die_info::child, new_symbol(), process_die(), read_type_die(), die_info::sibling, and die_info::tag.

Referenced by process_die().

◆ read_module_type()

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

◆ read_namespace()

static void read_namespace ( 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_rnglist_index()

static sect_offset read_rnglist_index ( struct dwarf2_cu cu,
ULONGEST  rnglist_index,
dwarf_tag  tag 
)
static

◆ 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 ( signatured_type sig_type,
dwarf2_per_objfile per_objfile 
)
static

◆ read_str_index()

static const char * read_str_index ( struct dwarf2_cu cu,
struct dwarf2_section_info str_section,
struct dwarf2_section_info str_offsets_section,
ULONGEST  str_offsets_base,
ULONGEST  str_index,
unsigned  offset_size 
)
static

◆ read_structure_type()

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

◆ read_stub_str_index()

static const char * read_stub_str_index ( struct dwarf2_cu cu,
ULONGEST  str_index 
)
static

◆ read_subrange_index_type()

static struct type * read_subrange_index_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 16416 of file read.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 16398 of file read.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_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

◆ recognize_bound_expression()

static bool recognize_bound_expression ( struct die_info die,
enum dwarf_attribute  name,
int *  bounds_offset,
struct field field,
struct dwarf2_cu cu 
)
static

◆ recursively_compute_inclusions()

static void recursively_compute_inclusions ( std::vector< compunit_symtab * > *  result,
htab_t  all_children,
htab_t  all_type_symtabs,
dwarf2_per_cu_data per_cu,
dwarf2_per_objfile per_objfile,
struct compunit_symtab immediate_parent 
)
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

◆ rewrite_array_type()

static struct type * rewrite_array_type ( struct type type)
static

◆ rust_containing_type()

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

Definition at line 12663 of file read.c.

References die_containing_type(), dwarf2_attr(), follow_die_ref(), and attribute::form_is_ref().

Referenced by read_variable().

◆ rust_fully_qualify()

static const char * rust_fully_qualify ( struct obstack *  obstack,
const char *  p1,
const char *  p2 
)
static

Definition at line 7939 of file read.c.

References general_symbol_info::obstack.

Referenced by quirk_rust_enum().

◆ rust_union_quirks()

static void rust_union_quirks ( 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,
bool  skip_data_location = false 
)
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 24051 of file read.c.

References gdb_printf().

◆ 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 880 of file read.c.

References gdb_printf().

◆ skip_children()

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

Definition at line 7377 of file read.c.

References peek_die_abbrev(), and skip_one_die().

Referenced by cooked_indexer::index_dies(), and skip_one_die().

◆ skip_one_die()

static const gdb_byte * skip_one_die ( const struct die_reader_specs reader,
const gdb_byte *  info_ptr,
const struct abbrev_info abbrev,
bool  do_skip_children = true 
)
static

◆ store_in_ref_table()

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

Definition at line 22344 of file read.c.

References dwarf2_cu::die_hash, and die_info::sect_off.

Referenced by read_die_and_children().

◆ tag_can_have_linkage_name()

static bool tag_can_have_linkage_name ( enum dwarf_tag  tag)
static

Definition at line 18021 of file read.c.

Referenced by cooked_indexer::scan_attributes().

◆ try_open_dwop_file()

static gdb_bfd_ref_ptr try_open_dwop_file ( dwarf2_per_objfile per_objfile,
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 13751 of file read.c.

References die_info::tag.

Referenced by dwarf2_add_type_defn(), and handle_struct_member_die().

◆ typename_concat()

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

◆ unnamed_template_tag_name()

static const char * unnamed_template_tag_name ( die_info die,
dwarf2_cu cu 
)
static

◆ 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 ( struct dwarf2_cu cu)
static

◆ var_decl_name()

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

◆ var_decode_location()

static void var_decode_location ( struct attribute attr,
struct symbol sym,
struct dwarf2_cu cu 
)
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 22599 of file read.c.

References type::length(), and store_unsigned_integer().

Referenced by dwarf2_fetch_constant_bytes().

Variable Documentation

◆ bits_per_byte

int bits_per_byte = 8
static

Definition at line 777 of file read.c.

Referenced by dwarf2_add_field(), handle_member_location(), and mips_isa_regsize().

◆ check_physname

bool check_physname = false
static

Definition at line 121 of file read.c.

Referenced by dwarf2_physname().

◆ dwarf2_elf_names

const struct dwarf2_debug_sections dwarf2_elf_names
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_str_offsets", ".zdebug_str_offsets" },
{ ".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 321 of file read.c.

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

◆ dwarf2_locexpr_block_index

int dwarf2_locexpr_block_index
static

Definition at line 146 of file read.c.

Referenced by 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 147 of file read.c.

Referenced by dwarf2_symbol_mark_computed().

◆ dwarf2_loclist_index

int dwarf2_loclist_index
static

Definition at line 145 of file read.c.

Referenced by dwarf2_symbol_mark_computed().

◆ dwarf2_objfile_data_key

const registry<objfile>::key<dwarf2_per_objfile> dwarf2_objfile_data_key
static

Definition at line 128 of file read.c.

Referenced by dwarf2_has_info(), and get_dwarf2_per_objfile().

◆ dwarf2_per_bfd_bfd_data_key

const registry<bfd>::key<dwarf2_per_bfd> dwarf2_per_bfd_bfd_data_key
static

Definition at line 138 of file read.c.

Referenced by dwarf2_has_info().

◆ dwarf2_per_bfd_objfile_data_key

const registry<objfile>::key<dwarf2_per_bfd> dwarf2_per_bfd_objfile_data_key
static

Definition at line 140 of file read.c.

Referenced by dwarf2_has_info().

◆ dwarf5_augmentation

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

Definition at line 4420 of file read.c.

Referenced by read_debug_names_from_section().

◆ dwarf_die_debug

unsigned int dwarf_die_debug = 0
static

◆ dwarf_line_debug

unsigned int dwarf_line_debug = 0

◆ dwarf_max_cache_age

int dwarf_max_cache_age = 5
static

Definition at line 878 of file read.c.

Referenced by dwarf2_per_objfile::age_comp_units().

◆ dwarf_read_debug

unsigned int dwarf_read_debug = 0
static

Definition at line 100 of file read.c.

Referenced by process_queue().

◆ 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_rnglists.dwo", ".zdebug_rnglists.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" },
}

◆ set_dwarf_cmdlist

struct cmd_list_element* set_dwarf_cmdlist

Definition at line 24047 of file read.c.

◆ show_dwarf_cmdlist

struct cmd_list_element* show_dwarf_cmdlist

Definition at line 24048 of file read.c.

◆ use_deprecated_index_sections

bool use_deprecated_index_sections = false
static

Definition at line 124 of file read.c.

Referenced by dwarf2_read_gdb_index().