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/read-debug-names.h"
#include "dwarf2/read-gdb-index.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

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  free_cached_comp_units
 
struct  quick_file_names
 
struct  readnow_functions
 
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 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 *, bool allow_reprocess=true)
 
static void read_attribute_reprocess (const struct die_reader_specs *reader, struct attribute *attr, dwarf_tag tag=DW_TAG_padding)
 
static unrelocated_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 unrelocated_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 *, unrelocated_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 *, unrelocated_addr *, unrelocated_addr *, struct dwarf2_cu *, addrmap *, void *)
 
static void get_scope_pc_bounds (struct die_info *, unrelocated_addr *, unrelocated_addr *, struct dwarf2_cu *)
 
static void dwarf2_record_block_ranges (struct die_info *, struct block *, 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 bool decode_locdesc (struct dwarf_block *, struct dwarf2_cu *, CORE_ADDR *addr)
 
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, bool)
 
static const gdb_byte * read_toplevel_die (const struct die_reader_specs *, struct die_info **, const gdb_byte *, gdb::array_view< attribute * >={})
 
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 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 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 bool is_ada_import_or_export (dwarf2_cu *cu, const char *name, const char *linkagename)
 
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_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)
 
bool 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)
 
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)
 
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)
 
bool read_addrmap_from_aranges (dwarf2_per_objfile *per_objfile, dwarf2_section_info *section, addrmap *mutable_map)
 
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 std::string make_sort_after_prefix_name (const char *search_name)
 
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)
 
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)
 
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)
 
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)
 
htab_up allocate_signatured_type_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 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)
 
void finalize_all_units (dwarf2_per_bfd *per_bfd)
 
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 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 unsigned int read_decl_line (struct die_info *die, struct dwarf2_cu *cu)
 
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, unrelocated_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 bool dwarf2_func_is_main_p (struct die_info *die, struct dwarf2_cu *cu)
 
static bool check_ada_pragma_import (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< unrelocated_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, unrelocated_addr *low_return, unrelocated_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, unrelocated_addr *lowpc, unrelocated_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 dwarf2_cu *cu, int bits, const char *name, const char *name_hint, enum bfd_endian byte_order)
 
static struct typedwarf2_init_integer_type (struct dwarf2_cu *cu, 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, 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, bool allow_reprocess)
 
const char * read_indirect_string_at_offset (dwarf2_per_objfile *per_objfile, LONGEST str_offset)
 
static unrelocated_addr read_addr_index_1 (dwarf2_per_objfile *per_objfile, unsigned int addr_index, gdb::optional< ULONGEST > addr_base, int addr_size)
 
unrelocated_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, unrelocated_addr address, linetable_entry_flags flags, struct dwarf2_cu *cu)
 
static void dwarf_finish_line (struct gdbarch *gdbarch, struct subfile *subfile, unrelocated_addr address, struct dwarf2_cu *cu)
 
static void dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu, unrelocated_addr lowpc)
 
static void add_ada_export_symbol (struct symbol *orig, const char *new_name, const char *orig_name, struct dwarf2_cu *cu, struct pending **list_to_add)
 
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 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 ada_imported_index
 
static int dwarf2_locexpr_block_index
 
static int dwarf2_loclist_block_index
 
static int ada_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
 
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,
... )

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

Referenced by dwarf2_per_objfile::age_comp_units(), create_debug_type_hash_table(), and follow_die_offset().

◆ GNAT_FIXED_POINT_SUFFIX

#define GNAT_FIXED_POINT_SUFFIX   "___XF_"

Definition at line 15078 of file read.c.

Referenced by gnat_encoded_fixed_point_type_info(), and read_base_type().

◆ LOCLIST_HEADER_SIZE32

#define LOCLIST_HEADER_SIZE32   12

Definition at line 151 of file read.c.

Referenced by lookup_loclist_base(), and read_loclist_index().

◆ LOCLIST_HEADER_SIZE64

#define LOCLIST_HEADER_SIZE64   20

Definition at line 154 of file read.c.

Referenced by lookup_loclist_base(), and read_loclist_index().

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

Referenced by create_dwp_hash_table().

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

Referenced by create_dwp_hash_table().

◆ MAX_SEP_LEN

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

Definition at line 20175 of file read.c.

Referenced by typename_concat().

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)

Definition at line 4529 of file read.c.

Referenced by get_type_unit_group().

◆ NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10

Definition at line 4530 of file read.c.

Referenced by get_type_unit_group().

◆ RNGLIST_HEADER_SIZE32

#define RNGLIST_HEADER_SIZE32   12

Definition at line 157 of file read.c.

Referenced by read_rnglist_index().

◆ RNGLIST_HEADER_SIZE64

#define RNGLIST_HEADER_SIZE64   20

Definition at line 160 of file read.c.

Referenced by read_rnglist_index().

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

Enumeration Type Documentation

◆ dwp_v2_section_ids

Enumerator
DW_SECT_MIN 

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

Function Documentation

◆ _initialize_dwarf2_read()

void _initialize_dwarf2_read ( )

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

References gdb_mpz::set().

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

References ada_get_gnat_encoded_number().

Referenced by finish_fixed_point_type().

◆ add_ada_export_symbol()

static void add_ada_export_symbol ( struct symbol * orig,
const char * new_name,
const char * orig_name,
struct dwarf2_cu * cu,
struct pending ** list_to_add )
static

◆ add_array_cv_type()

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

◆ add_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 7904 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 7960 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 9485 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()

htab_up allocate_signatured_type_table ( )

◆ allocate_type_unit_groups_table()

static htab_up allocate_type_unit_groups_table ( )
static

Definition at line 4517 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_ada_pragma_import()

static bool check_ada_pragma_import ( struct die_info * die,
struct dwarf2_cu * cu )
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 5784 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 11869 of file read.c.

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

Referenced by create_one_variant().

◆ create_all_units()

static void create_all_units ( dwarf2_per_objfile * per_objfile)
static

◆ create_cu_from_index_list()

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 )

◆ 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 3675 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()

htab_up create_quick_file_names_table ( unsigned int nr_initial_entries)

◆ 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 4536 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 12008 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 bool decode_locdesc ( struct dwarf_block * blk,
struct dwarf2_cu * cu,
CORE_ADDR * addr )
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 19651 of file read.c.

References dwarf2_attr(), and lookup_die_type().

Referenced by set_descriptive_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

◆ 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_symtabs_matching_one()

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 )

◆ dw2_expand_symtabs_matching_symbol()

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 )

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

References dwarf2_attr().

Referenced by anonymous_struct_prefix(), and dwarf2_name().

◆ dw_expand_symtabs_matching_file_matcher()

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

◆ 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 17868 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_func_is_main_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_decl_line(), 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 1191 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 1178 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 1172 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 17924 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 20410 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_func_is_main_p()

static bool dwarf2_func_is_main_p ( struct die_info * die,
struct dwarf2_cu * cu )
static

Definition at line 10035 of file read.c.

References attribute::constant_value(), dwarf2_attr(), and dwarf2_flag_true_p().

Referenced by read_func_scope().

◆ 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,
unrelocated_addr * lowpc,
unrelocated_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,
unrelocated_addr * lowpc,
unrelocated_addr * highpc,
struct dwarf2_cu * cu )
static

◆ dwarf2_has_info()

bool 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,
int bits,
const char * name_hint,
enum bfd_endian byte_order )
static

◆ dwarf2_init_float_type()

static struct type * dwarf2_init_float_type ( struct dwarf2_cu * cu,
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,
int bits,
int unsigned_p,
const char * name )
static

◆ 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 12144 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,
unrelocated_addr * low_return,
unrelocated_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< unrelocated_addr > & result )
static

Definition at line 11144 of file read.c.

References dwarf2_ranges_process().

Referenced by read_call_site_scope().

◆ dwarf2_read_addr_index()

unrelocated_addr dwarf2_read_addr_index ( dwarf2_per_cu_data * per_cu,
dwarf2_per_objfile * per_objfile,
unsigned int addr_index )

◆ dwarf2_record_block_ranges()

static void dwarf2_record_block_ranges ( struct die_info * die,
struct block * block,
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 21328 of file read.c.

References dwarf2_cu::comp_unit_obstack.

Referenced by read_attribute_value().

◆ 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,
unrelocated_addr lowpc,
int decode_mapping )
static

◆ dwarf_decode_lines_1()

static void dwarf_decode_lines_1 ( struct line_header * lh,
struct dwarf2_cu * cu,
unrelocated_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,
unrelocated_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,
unrelocated_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 7889 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 7944 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 9474 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 1699 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 3550 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 4506 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()

void finalize_all_units ( dwarf2_per_bfd * per_bfd)

Definition at line 5271 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,
unrelocated_addr * lowpc,
unrelocated_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 15085 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,
unrelocated_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 7877 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 7935 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 9463 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 1688 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 3540 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 4497 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_ada_import_or_export()

static bool is_ada_import_or_export ( dwarf2_cu * cu,
const char * name,
const char * linkagename )
static

Definition at line 18949 of file read.c.

References dwarf2_cu::lang(), language_ada, and name.

Referenced by check_ada_pragma_import(), and new_symbol().

◆ is_valid_DW_AT_calling_convention_for_subroutine()

static bool is_valid_DW_AT_calling_convention_for_subroutine ( ULONGEST value)
static

Definition at line 12635 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 12614 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 12406 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 17786 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 1247 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 1229 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 1237 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

Definition at line 16967 of file read.c.

Referenced by dwarf2_initialize_objfile(), and cooked_index::make_quick_functions().

◆ make_sort_after_prefix_name()

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

Definition at line 2256 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 19639 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 18978 of file read.c.

References symbol::aclass(), ada_block_index, ada_imported_index, add_ada_export_symbol(), add_symbol_to_list(), 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, 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, is_ada_import_or_export(), 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, dwarf2_per_objfile::relocate(), general_symbol_info::search_name(), SECT_OFF_TEXT, 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(), general_symbol_info::set_section_index(), symbol::set_symtab(), symbol::set_type(), symbol::set_value_address(), STRUCT_DOMAIN, SYMBOL_LOCATION_BATON, file_entry::symtab, die_info::tag, objfile::template_symbols, symbol::type(), symbol::value_address(), var_decode_location(), and VAR_DOMAIN.

Referenced by c_print_typedef(), check_ada_pragma_import(), 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 9212 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 9500 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 5056 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 unrelocated_addr read_addr_index ( struct dwarf2_cu * cu,
unsigned int addr_index )
static

◆ read_addr_index_1()

static unrelocated_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 unrelocated_addr read_addr_index_from_leb128 ( struct dwarf2_cu * cu,
const gdb_byte * info_ptr,
unsigned int * bytes_read )
static

◆ read_addrmap_from_aranges()

bool read_addrmap_from_aranges ( dwarf2_per_objfile * per_objfile,
dwarf2_section_info * section,
addrmap * mutable_map )

◆ 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,
bool allow_reprocess = true )
static

◆ read_attribute_reprocess()

static void read_attribute_reprocess ( const struct die_reader_specs * reader,
struct attribute * attr,
dwarf_tag tag = DW_TAG_padding )
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,
bool allow_reprocess )
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 10376 of file read.c.

References dwarf2_per_objfile::adjust(), objfile::arch(), attribute::as_address(), attribute::as_block(), attribute::as_unsigned(), die_info::attr(), call_site::call_site(), 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(), get_die_type(), attribute::get_ref_die_offset(), dwarf2_cu::gnu_ranges_base, call_site::hash(), dwarf2_cu::header, call_site_parameter::kind, loc, nullptr, dwarf2_per_objfile::objfile, objfile_name(), objfile::objfile_obstack, comp_unit_head::offset_in_cu_p(), paddress(), call_site_parameter_u::param_cu_off, call_site::parameter, call_site::parameter_count, die_info::parent, call_site::pc(), PC_BOUNDS_INVALID, dwarf2_cu::per_cu, dwarf2_locexpr_baton::per_cu, call_site::per_objfile, dwarf2_cu::per_objfile, dwarf2_locexpr_baton::per_objfile, comp_unit_head::sect_off, 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, 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_decl_line()

static unsigned int read_decl_line ( struct die_info * die,
struct dwarf2_cu * cu )
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_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,
bool allow_reprocess )
static

◆ read_func_scope()

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

Definition at line 10070 of file read.c.

References dwarf2_cu::addr_type(), objfile::arch(), attribute::as_boolean(), attribute::as_nonnegative(), attr_to_dynamic_prop(), check_ada_pragma_import(), die_info::child, complaint, determine_prefix(), die_specification(), dw2_linkage_name(), dwarf2_attr(), dwarf2_func_is_main_p(), dwarf2_get_pc_bounds(), dwarf2_name(), dwarf2_record_block_ranges(), dwarf2_symbol_mark_computed(), buildsym_compunit::finish_block(), 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(), dwarf2_per_objfile::relocate(), die_info::sect_off, sect_offset_str(), buildsym_compunit::set_local_using_directives(), set_objfile_main_name(), block::set_scope(), die_info::sibling, context_stack::static_link, symbol::subclass, SYMBOL_TEMPLATE, symbol::symtab, die_info::tag, and template_symbol::template_arguments.

Referenced by handle_struct_member_die(), and process_die().

◆ 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 17526 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()

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

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

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

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 14469 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 14451 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_toplevel_die()

static const gdb_byte * read_toplevel_die ( const struct die_reader_specs * reader,
struct die_info ** diep,
const gdb_byte * info_ptr,
gdb::array_view< attribute * > extra_attrs = {} )
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 10711 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 5920 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 22038 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 734 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 5377 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 20422 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 16109 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 11806 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 20681 of file read.c.

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

Referenced by dwarf2_fetch_constant_bytes().

Variable Documentation

◆ ada_block_index

int ada_block_index
static

Definition at line 148 of file read.c.

Referenced by add_ada_export_symbol(), and new_symbol().

◆ ada_imported_index

int ada_imported_index
static

Definition at line 145 of file read.c.

Referenced by add_ada_export_symbol(), and new_symbol().

◆ bits_per_byte

int bits_per_byte = 8
static

Definition at line 631 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 123 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 175 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 144 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 127 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 137 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 139 of file read.c.

Referenced by dwarf2_has_info().

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

Referenced by process_queue().

◆ dwop_section_names

const struct dwop_section_names dwop_section_names
static
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" },
}

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

◆ set_dwarf_cmdlist

struct cmd_list_element* set_dwarf_cmdlist

Definition at line 22034 of file read.c.

◆ show_dwarf_cmdlist

struct cmd_list_element* show_dwarf_cmdlist

Definition at line 22035 of file read.c.