GDB (xrefs)
|
#include <queue>
#include <unordered_map>
#include "dwarf2/comp-unit-head.h"
#include "dwarf2/cooked-index.h"
#include "dwarf2/file-and-dir.h"
#include "dwarf2/index-cache.h"
#include "dwarf2/mapped-index.h"
#include "dwarf2/section.h"
#include "dwarf2/cu.h"
#include "filename-seen-cache.h"
#include "gdbsupport/gdb_obstack.h"
#include "gdbsupport/hash_enum.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/packed.h"
Go to the source code of this file.
Classes | |
struct | tu_stats |
struct | dwarf2_queue_item |
struct | dwarf2_per_cu_data_deleter |
struct | dwarf2_per_cu_data |
struct | signatured_type |
struct | dwarf2_per_bfd |
struct | dwarf2_per_bfd::tu_stats |
struct | type_unit_group_unshareable |
struct | dwarf2_per_objfile |
Typedefs | |
typedef std::unique_ptr< dwarf2_per_cu_data, dwarf2_per_cu_data_deleter > | dwarf2_per_cu_data_up |
using | signatured_type_up = std::unique_ptr< signatured_type > |
Enumerations | |
enum | dwarf2_section_enum { DWARF2_DEBUG_FRAME , DWARF2_EH_FRAME } |
Functions | |
dwarf2_per_objfile * | get_dwarf2_per_objfile (struct objfile *objfile) |
struct type * | dwarf2_get_die_type (cu_offset die_offset, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile) |
CORE_ADDR | dwarf2_read_addr_index (dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, unsigned int addr_index) |
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=false) |
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) |
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 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=nullptr) |
void | dwarf2_get_section_info (struct objfile *, enum dwarf2_section_enum, asection **, const gdb_byte **, bfd_size_type *) |
bool | producer_is_clang (struct dwarf2_cu *cu) |
Variables | |
struct cmd_list_element * | set_dwarf_cmdlist |
struct cmd_list_element * | show_dwarf_cmdlist |
unsigned int | dwarf_line_debug |
typedef std::unique_ptr<dwarf2_per_cu_data, dwarf2_per_cu_data_deleter> dwarf2_per_cu_data_up |
using signatured_type_up = std::unique_ptr<signatured_type> |
enum dwarf2_section_enum |
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 | ||
) |
Definition at line 22617 of file read.c.
References attribute::as_address(), attribute::as_block(), attribute::as_signed(), attribute::as_string(), attribute::as_unsigned(), complaint, die_type(), dwarf2_attr(), dwarf2_const_value_data(), dwarf_form_name(), follow_die_offset(), attribute::form, dwarf2_per_objfile::get_cu(), dwarf2_per_cu_data::is_dwz, load_cu(), objfile::obfd, dwarf2_per_objfile::objfile, objfile_name(), sect_offset_str(), store_unsigned_integer(), and write_constant_as_bytes().
Referenced by fetch_const_value_from_synthetic_pointer().
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 | ||
) |
Definition at line 22584 of file read.c.
References dwarf2_fetch_die_loc_sect_off(), get_frame_pc(), dwarf2_locexpr_baton::per_cu, dwarf2_locexpr_baton::per_objfile, and dwarf2_per_cu_data::sect_off.
Referenced by dwarf2_compile_expr_to_ax(), dwarf2_get_symbol_read_needs(), and dwarf_expr_context::dwarf_call().
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 = false |
||
) |
Definition at line 22479 of file read.c.
References objfile::arch(), attribute::as_block(), die_info::attr(), dwarf2_locexpr_baton::data, dwarf2_attr(), dwarf2_find_location_expression(), fill_in_loclist_baton(), follow_die_offset(), attribute::form_is_block(), attribute::form_is_section_offset(), gdbarch_adjust_dwarf2_addr(), get_frame_pc(), get_scope_pc_bounds(), load_cu(), objfile::objfile(), objfile_name(), die_info::parent, dwarf2_cu::per_cu, dwarf2_locexpr_baton::per_cu, dwarf2_locexpr_baton::per_objfile, die_info::sect_off, sect_offset_str(), dwarf2_locexpr_baton::size, size, die_info::tag, and objfile::text_section_offset().
Referenced by dwarf2_fetch_die_loc_cu_off(), dwarf2_get_symbol_read_needs(), and indirect_synthetic_pointer().
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 = nullptr |
||
) |
Definition at line 22754 of file read.c.
References die_type(), follow_die_offset(), dwarf2_per_objfile::get_cu(), dwarf2_per_cu_data::is_dwz, load_cu(), die_info::sect_off, and var_decl_name().
Referenced by dwarf2_get_symbol_read_needs(), indirect_synthetic_pointer(), and sect_variable_value().
struct type * dwarf2_get_die_type | ( | cu_offset | die_offset, |
dwarf2_per_cu_data * | per_cu, | ||
dwarf2_per_objfile * | per_objfile | ||
) |
Definition at line 22780 of file read.c.
References get_die_type_at_offset(), and dwarf2_per_cu_data::sect_off.
Referenced by disassemble_dwarf_expression(), and dwarf_expr_context::get_base_type().
void dwarf2_get_section_info | ( | struct objfile * | objfile, |
enum | dwarf2_section_enum, | ||
asection ** | sectp, | ||
const gdb_byte ** | bufp, | ||
bfd_size_type * | sizep | ||
) |
Definition at line 1732 of file read.c.
References DWARF2_DEBUG_FRAME, DWARF2_EH_FRAME, dwarf2_per_bfd::eh_frame, dwarf2_per_bfd::frame, get_dwarf2_per_objfile(), and dwarf2_per_objfile::per_bfd.
Referenced by dwarf2_build_frame_info().
CORE_ADDR dwarf2_read_addr_index | ( | dwarf2_per_cu_data * | per_cu, |
dwarf2_per_objfile * | per_objfile, | ||
unsigned int | addr_index | ||
) |
Definition at line 19453 of file read.c.
References dwarf2_cu::addr_base, die_reader_specs::cu, dwarf2_per_objfile::get_cu(), dwarf2_cu::per_cu, dwarf2_cu::per_objfile, and read_addr_index_1().
Referenced by decode_debug_loc_dwo_addresses(), decode_debug_loclists_addresses(), disassemble_dwarf_expression(), dwarf_expr_context::execute_stack_op(), and locexpr_describe_location_piece().
dwarf2_per_objfile * get_dwarf2_per_objfile | ( | struct objfile * | objfile | ) |
Definition at line 311 of file read.c.
References dwarf2_objfile_data_key, and registry< T >::get().
Referenced by dwarf2_gdb_index::dump(), dwarf2_build_psymtabs(), dwarf2_frame_find_fde(), dwarf2_get_section_info(), dwarf2_has_info(), dwarf2_initialize_objfile(), dwarf2_base_index_functions::expand_all_symtabs(), dwarf2_gdb_index::expand_matching_symbols(), dwarf2_debug_names_index::expand_matching_symbols(), cooked_index_functions::expand_matching_symbols(), dwarf2_gdb_index::expand_symtabs_matching(), dwarf2_debug_names_index::expand_symtabs_matching(), cooked_index_functions::expand_symtabs_matching(), cooked_index_functions::find_compunit_symtab_by_address(), dwarf2_base_index_functions::find_last_source_symtab(), dwarf2_base_index_functions::find_pc_sect_compunit_symtab(), dwarf2_base_index_functions::forget_cached_source_info(), dwarf2_base_index_functions::has_unexpanded_symtabs(), dwarf2_base_index_functions::map_symbol_filenames(), dwarf2_base_index_functions::print_stats(), and save_gdb_index_command().
bool producer_is_clang | ( | struct dwarf2_cu * | cu | ) |
Definition at line 9505 of file read.c.
References check_producer(), dwarf2_cu::checked_producer, and dwarf2_cu::producer_is_clang.
Referenced by check_producer(), and dwarf_decode_macro_bytes().
|
extern |
Definition at line 118 of file read.c.
Referenced by line_header::add_file_name(), line_header::add_include_dir(), dwarf_finish_line(), dwarf_record_line_1(), and lnp_state_machine::record_line().
|
extern |
|
extern |