GDB (xrefs)
|
Go to the source code of this file.
Classes | |
struct | blockrange |
struct | blockranges |
struct | block |
struct | global_block |
struct | blockvector |
struct | block_iterator |
Macros | |
#define | ALL_BLOCK_SYMBOLS(block, iter, sym) |
#define | ALL_BLOCK_SYMBOLS_WITH_NAME(block, name, iter, sym) |
Typedefs | |
typedef int() | block_symbol_matcher_ftype(struct symbol *, void *) |
Functions | |
struct objfile * | block_objfile (const struct block *block) |
struct gdbarch * | block_gdbarch (const struct block *block) |
struct symbol * | block_linkage_function (const struct block *) |
struct symbol * | block_containing_function (const struct block *) |
int | block_inlined_p (const struct block *block) |
bool | contained_in (const struct block *a, const struct block *b, bool allow_nested=false) |
const struct blockvector * | blockvector_for_pc (CORE_ADDR, const struct block **) |
const struct blockvector * | blockvector_for_pc_sect (CORE_ADDR, struct obj_section *, const struct block **, struct compunit_symtab *) |
int | blockvector_contains_pc (const struct blockvector *bv, CORE_ADDR pc) |
struct call_site * | call_site_for_pc (struct gdbarch *gdbarch, CORE_ADDR pc) |
const struct block * | block_for_pc (CORE_ADDR) |
const struct block * | block_for_pc_sect (CORE_ADDR, struct obj_section *) |
const char * | block_scope (const struct block *block) |
void | block_set_scope (struct block *block, const char *scope, struct obstack *obstack) |
struct using_direct * | block_using (const struct block *block) |
void | block_set_using (struct block *block, struct using_direct *using_decl, struct obstack *obstack) |
const struct block * | block_static_block (const struct block *block) |
const struct block * | block_global_block (const struct block *block) |
struct block * | allocate_block (struct obstack *obstack) |
struct block * | allocate_global_block (struct obstack *obstack) |
void | set_block_compunit_symtab (struct block *, struct compunit_symtab *) |
struct dynamic_prop * | block_static_link (const struct block *block) |
struct symbol * | block_iterator_first (const struct block *block, struct block_iterator *iterator) |
struct symbol * | block_iterator_next (struct block_iterator *iterator) |
struct symbol * | block_iter_match_first (const struct block *block, const lookup_name_info &name, struct block_iterator *iterator) |
struct symbol * | block_iter_match_next (const lookup_name_info &name, struct block_iterator *iterator) |
bool | best_symbol (struct symbol *a, const domain_enum domain) |
struct symbol * | better_symbol (struct symbol *a, struct symbol *b, const domain_enum domain) |
struct symbol * | block_lookup_symbol (const struct block *block, const char *name, symbol_name_match_type match_type, const domain_enum domain) |
struct symbol * | block_lookup_symbol_primary (const struct block *block, const char *name, const domain_enum domain) |
struct symbol * | block_find_symbol (const struct block *block, const char *name, const domain_enum domain, block_symbol_matcher_ftype *matcher, void *data) |
int | block_find_non_opaque_type (struct symbol *sym, void *data) |
int | block_find_non_opaque_type_preferred (struct symbol *sym, void *data) |
struct blockranges * | make_blockranges (struct objfile *objfile, const std::vector< blockrange > &rangevec) |
#define ALL_BLOCK_SYMBOLS | ( | block, | |
iter, | |||
sym | |||
) |
typedef int() block_symbol_matcher_ftype(struct symbol *, void *) |
struct block * allocate_block | ( | struct obstack * | obstack | ) |
Definition at line 397 of file block.c.
Referenced by finalize_symtab(), and buildsym_compunit::finish_block_internal().
struct block * allocate_global_block | ( | struct obstack * | obstack | ) |
Definition at line 407 of file block.c.
References global_block::block.
Referenced by finalize_symtab(), and buildsym_compunit::finish_block_internal().
bool best_symbol | ( | struct symbol * | a, |
const domain_enum | domain | ||
) |
Definition at line 663 of file block.c.
References symbol::aclass(), symbol::domain(), and LOC_UNRESOLVED.
Referenced by block_lookup_symbol(), block_lookup_symbol_primary(), lookup_global_symbol(), lookup_minimal_symbol_by_pc_section(), and lookup_symbol_in_objfile_symtabs().
struct symbol * better_symbol | ( | struct symbol * | a, |
struct symbol * | b, | ||
const domain_enum | domain | ||
) |
Definition at line 672 of file block.c.
References symbol::aclass(), symbol::domain(), and LOC_UNRESOLVED.
Referenced by block_lookup_symbol(), block_lookup_symbol_primary(), lookup_global_symbol(), and lookup_symbol_in_objfile_symtabs().
Definition at line 114 of file block.c.
References block::function(), and block::superblock().
Referenced by create_sals_line_offset(), and find_pc_sect_containing_function().
int block_find_non_opaque_type | ( | struct symbol * | sym, |
void * | data | ||
) |
Definition at line 856 of file block.c.
References symbol::type(), and TYPE_IS_OPAQUE.
Referenced by basic_lookup_transparent_type_1(), and basic_lookup_transparent_type_quick().
int block_find_non_opaque_type_preferred | ( | struct symbol * | sym, |
void * | data | ||
) |
Definition at line 864 of file block.c.
References symbol::type(), and TYPE_IS_OPAQUE.
Referenced by objfile::lookup_symbol().
struct symbol * block_find_symbol | ( | const struct block * | block, |
const char * | name, | ||
const domain_enum | domain, | ||
block_symbol_matcher_ftype * | matcher, | ||
void * | data | ||
) |
Definition at line 829 of file block.c.
References ALL_BLOCK_SYMBOLS_WITH_NAME, symbol::domain(), FULL, general_symbol_info::language(), name, block::superblock(), and symbol_matches_domain().
Referenced by basic_lookup_transparent_type_1(), basic_lookup_transparent_type_quick(), and objfile::lookup_symbol().
const struct block * block_for_pc | ( | CORE_ADDR | pc | ) |
Definition at line 283 of file block.c.
References block_for_pc_sect(), and find_pc_mapped_section().
Referenced by collection_list::add_local_symbols(), agent_eval_command_one(), create_breakpoint(), create_excep_cond_exprs(), csky_frame_unwind_cache(), do_compile_dwarf_expr_to_c(), expr::op_this_operation::do_generate_ax(), dwarf2_compile_expr_to_ax(), dwarf2_find_location_expression(), encode_actions_1(), eval_op_func_static_var(), eval_op_objc_msgcall(), find_condition_and_thread(), find_proc_desc(), frame_id_inner(), gdbscm_lookup_block(), gen_maybe_namespace_elt(), get_frame_block(), get_pc_function_start(), info_scope_command(), inline_frame_sniffer(), locexpr_describe_location_piece(), parse_cmd_to_aexpr(), pspy_block_for_pc(), set_breakpoint_condition(), set_breakpoint_location_condition(), skip_inline_frames(), skip_prologue_using_sal(), update_breakpoint_locations(), and validate_actionline().
const struct block * block_for_pc_sect | ( | CORE_ADDR | pc, |
struct obj_section * | section | ||
) |
Definition at line 268 of file block.c.
References blockvector_for_pc_sect().
Referenced by block_for_pc(), create_sals_line_offset(), find_pc_sect_containing_function(), find_pc_sect_function(), and skip_prologue_sal().
Definition at line 60 of file block.c.
References objfile::arch(), symbol::arch, block_objfile(), and block::function().
Referenced by cp_lookup_bare_symbol(), d_lookup_symbol(), language_defn::lookup_symbol_nonlocal(), and ada_language::lookup_symbol_nonlocal().
Definition at line 376 of file block.c.
References block::superblock().
Referenced by add_symbol_overload_list_namespace(), block_objfile(), blpy_get_global_block(), cp_basic_lookup_symbol(), default_collect_symbol_completion_matches_break_on(), gdbscm_block_global_block(), get_hosting_frame(), and lookup_global_symbol().
int block_inlined_p | ( | const struct block * | block | ) |
Definition at line 125 of file block.c.
References block::function(), and symbol::is_inlined().
Referenced by block_linkage_function(), contained_in(), default_collect_symbol_completion_matches_break_on(), get_frame_block(), get_hosting_frame(), inline_frame_sniffer(), lookup_local_symbol(), skip_inline_frames(), skip_prologue_sal(), and skip_prologue_using_sal().
struct symbol * block_iter_match_first | ( | const struct block * | block, |
const lookup_name_info & | name, | ||
struct block_iterator * | iterator | ||
) |
Definition at line 635 of file block.c.
References block_iter_match_step(), FIRST_LOCAL_BLOCK, initialize_block_iterator(), block_iterator::mdict_iter, mdict_iter_match_first(), block::multidict(), name, and block_iterator::which.
Referenced by ada_add_block_symbols().
struct symbol * block_iter_match_next | ( | const lookup_name_info & | name, |
struct block_iterator * | iterator | ||
) |
Definition at line 651 of file block.c.
References block_iter_match_step(), FIRST_LOCAL_BLOCK, block_iterator::mdict_iter, mdict_iter_match_next(), name, and block_iterator::which.
Referenced by ada_add_block_symbols().
struct symbol * block_iterator_first | ( | const struct block * | block, |
struct block_iterator * | iterator | ||
) |
Definition at line 567 of file block.c.
References block_iterator_step(), FIRST_LOCAL_BLOCK, initialize_block_iterator(), block_iterator::mdict_iter, mdict_iterator_first(), block::multidict(), and block_iterator::which.
Referenced by blpy_block_syms_iternext(), gdbscm_block_next_symbol_x(), gdbscm_block_symbols(), and generate_c_for_variable_locations().
struct symbol * block_iterator_next | ( | struct block_iterator * | iterator | ) |
Definition at line 581 of file block.c.
References block_iterator_step(), FIRST_LOCAL_BLOCK, block_iterator::mdict_iter, mdict_iterator_next(), and block_iterator::which.
Referenced by blpy_block_syms_iternext(), gdbscm_block_next_symbol_x(), gdbscm_block_symbols(), and generate_c_for_variable_locations().
Definition at line 99 of file block.c.
References block_inlined_p(), block::function(), and block::superblock().
Referenced by do_compile_dwarf_expr_to_c(), expr::op_this_operation::do_generate_ax(), dwarf2_compile_expr_to_ax(), dwarf2_find_location_expression(), find_pc_sect_function(), dwarf_expr_context::get_frame_base(), get_pc_function_start(), locexpr_describe_location_piece(), parse_exp_in_context(), remove_irrelevant_renamings(), and resolve_sal_pc().
struct symbol * block_lookup_symbol | ( | const struct block * | block, |
const char * | name, | ||
symbol_name_match_type | match_type, | ||
const domain_enum | domain | ||
) |
Definition at line 706 of file block.c.
References ALL_BLOCK_SYMBOLS_WITH_NAME, best_symbol(), better_symbol(), symbol::domain(), block::function(), symbol::is_argument(), general_symbol_info::language(), name, and symbol_matches_domain().
Referenced by get_out_value_type(), lookup_language_this(), lookup_symbol_in_block(), lookup_symbol_via_quick_fns(), and maintenance_check_psymtabs().
struct symbol * block_lookup_symbol_primary | ( | const struct block * | block, |
const char * | name, | ||
const domain_enum | domain | ||
) |
Definition at line 767 of file block.c.
References best_symbol(), better_symbol(), symbol::domain(), FULL, general_symbol_info::language(), mdict_iter_match_first(), mdict_iter_match_next(), block::multidict(), name, block::superblock(), and symbol_matches_domain().
Referenced by lookup_symbol_in_objfile_symtabs().
Definition at line 46 of file block.c.
References block_global_block(), global_block::compunit_symtab, block::function(), symbol::objfile(), and compunit_symtab::objfile().
Referenced by add_symbol_overload_list_qualified(), block_gdbarch(), block_static_link(), expr::check_objfile(), clear_dangling_display_expressions(), lookup_global_symbol(), lookup_language_this(), lookup_symbol_aux(), lookup_symbol_in_block(), lookup_symbol_in_static_block(), and write_var_or_type().
const char * block_scope | ( | const struct block * | block | ) |
Definition at line 296 of file block.c.
References block::namespace_info(), block_namespace_info::scope, and block::superblock().
Referenced by cp_lookup_symbol_nonlocal(), cp_lookup_transparent_type(), d_lookup_symbol_nonlocal(), lookup_local_symbol(), rust_language::lookup_symbol_nonlocal(), rust_crate_for_block(), and rust_parser::super_name().
void block_set_scope | ( | struct block * | block, |
const char * | scope, | ||
struct obstack * | obstack | ||
) |
Definition at line 313 of file block.c.
References block_initialize_namespace(), block::namespace_info(), and block_namespace_info::scope.
Referenced by cp_set_block_scope(), and read_func_scope().
void block_set_using | ( | struct block * | block, |
struct using_direct * | using_decl, | ||
struct obstack * | obstack | ||
) |
Definition at line 338 of file block.c.
References block_initialize_namespace(), block::namespace_info(), and block_namespace_info::using_decl.
Referenced by buildsym_compunit::finish_block_internal().
Definition at line 361 of file block.c.
References block::superblock().
Referenced by add_symbol_overload_list_namespace(), add_symbol_overload_list_qualified(), blpy_get_static_block(), convert_symbol_sym(), convert_symbol_sym(), default_collect_symbol_completion_matches_break_on(), gdbscm_block_static_block(), generate_c_for_variable_locations(), get_hosting_frame(), lookup_local_symbol(), lookup_symbol_in_static_block(), ada_language::lookup_symbol_nonlocal(), and munge_name_and_block().
struct dynamic_prop * block_static_link | ( | const struct block * | block | ) |
Definition at line 430 of file block.c.
References block_objfile(), block::function(), and objfile_lookup_static_link().
Referenced by get_hosting_frame().
struct using_direct * block_using | ( | const struct block * | block | ) |
Definition at line 325 of file block.c.
References block::namespace_info(), and block_namespace_info::using_decl.
Referenced by ada_add_block_renamings(), add_symbol_overload_list_using(), cp_lookup_symbol_via_imports(), and d_lookup_symbol_imports().
int blockvector_contains_pc | ( | const struct blockvector * | bv, |
CORE_ADDR | pc | ||
) |
Definition at line 215 of file block.c.
References find_block_in_blockvector().
Referenced by recursively_find_pc_sect_compunit_symtab().
const struct blockvector * blockvector_for_pc | ( | CORE_ADDR | pc, |
const struct block ** | pblock | ||
) |
Definition at line 258 of file block.c.
References blockvector_for_pc_sect(), and find_pc_mapped_section().
Referenced by block_starting_point_at().
const struct blockvector * blockvector_for_pc_sect | ( | CORE_ADDR | pc, |
struct obj_section * | section, | ||
const struct block ** | pblock, | ||
struct compunit_symtab * | cust | ||
) |
Definition at line 185 of file block.c.
References compunit_symtab::blockvector(), find_block_in_blockvector(), and find_pc_sect_compunit_symtab().
Referenced by block_for_pc_sect(), blockvector_for_pc(), and resolve_sal_pc().
Definition at line 225 of file block.c.
References compunit_symtab::find_call_site(), find_pc_compunit_symtab(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, paddress(), and general_symbol_info::print_name().
Referenced by call_site_find_chain_1(), and dwarf_expr_reg_to_entry_parameter().
Definition at line 71 of file block.c.
References block_inlined_p(), block::function(), and block::superblock().
Referenced by block_innermost_frame(), block_starting_point_at(), do_one_display(), frame_id_inner(), info_display_command(), innermost_block_tracker::update(), and watchpoint_check().
struct blockranges * make_blockranges | ( | struct objfile * | objfile, |
const std::vector< blockrange > & | rangevec | ||
) |
Definition at line 877 of file block.c.
References blockranges::nranges, objfile::objfile_obstack, and blockranges::range.
Referenced by dwarf2_record_block_ranges().
void set_block_compunit_symtab | ( | struct block * | block, |
struct compunit_symtab * | cu | ||
) |
Definition at line 417 of file block.c.
References global_block::compunit_symtab, and block::superblock().
Referenced by buildsym_compunit::end_compunit_symtab_with_blockvector(), and finalize_symtab().