41 struct obstack *obstack);
134 static struct block *
155 while (top - bot > 1)
157 half = (top - bot + 1) >> 1;
185 const struct block **pblock,
242 _(
"DW_OP_GNU_entry_value resolving cannot find "
243 "DW_TAG_GNU_call_site %s in %s"),
245 (msym.
minsym == NULL ?
"???"
270 const struct block *b;
313 struct obstack *obstack)
339 struct obstack *obstack)
480 while (cu->
user != NULL)
507 if (iterator->
idx == -1)
742 struct symbol *other = NULL;
769 struct symbol *sym_found = NULL;
793 struct symbol *sym, *other;
840 && matcher (sym, data))
859 struct symbol **best = data;
struct symbol * block_iterator_next(struct block_iterator *iterator)
static struct compunit_symtab * get_block_compunit_symtab(const struct block *block)
const struct blockvector * blockvector_for_pc_sect(CORE_ADDR pc, struct obj_section *section, const struct block **pblock, struct compunit_symtab *cust)
static struct symbol * block_iter_match_step(struct block_iterator *iterator, const char *name, symbol_compare_ftype *compare, int first)
struct compunit_symtab * compunit_symtab
struct symbol * block_iter_name_next(const char *name, struct block_iterator *iterator)
int block_find_non_opaque_type_preferred(struct symbol *sym, void *data)
const struct block * block
struct symbol * block_containing_function(const struct block *bl)
const struct block * block_global_block(const struct block *block)
struct symbol * block_lookup_symbol_primary(const struct block *block, const char *name, const domain_enum domain)
struct compunit_symtab * compunit_symtab
enum domain_enum_tag domain_enum
static struct symbol * block_iter_name_step(struct block_iterator *iterator, const char *name, int first)
#define TYPE_IS_OPAQUE(thistype)
struct symbol * dict_iter_match_first(const struct dictionary *dict, const char *name, symbol_compare_ftype *compare, struct dict_iterator *iterator)
static void block_initialize_namespace(struct block *block, struct obstack *obstack)
struct symbol * block_linkage_function(const struct block *bl)
struct gdbarch * symbol_arch(const struct symbol *symbol)
#define BLOCKVECTOR_BLOCK(blocklist, n)
struct objfile * symbol_objfile(const struct symbol *symbol)
const struct block * block_for_pc(CORE_ADDR pc)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
#define BLOCK_FUNCTION(bl)
struct compunit_symtab * find_pc_compunit_symtab(CORE_ADDR pc)
void block_set_using(struct block *block, struct using_direct *using_decl, struct obstack *obstack)
#define MSYMBOL_PRINT_NAME(symbol)
struct compunit_symtab ** includes
static struct symbol * block_iterator_step(struct block_iterator *iterator, int first)
int contained_in(const struct block *a, const struct block *b)
void block_set_scope(struct block *block, const char *scope, struct obstack *obstack)
union block_iterator::@31 d
#define SYMBOL_DOMAIN(symbol)
struct dict_iterator dict_iter
struct gdbarch * get_objfile_arch(const struct objfile *objfile)
struct using_direct * block_using(const struct block *block)
static void initialize_block_iterator(const struct block *block, struct block_iterator *iter)
#define BLOCK_SUPERBLOCK(bl)
static struct compunit_symtab * find_iterator_compunit_symtab(struct block_iterator *iterator)
struct compunit_symtab * find_pc_sect_compunit_symtab(CORE_ADDR pc, struct obj_section *section)
struct block * allocate_block(struct obstack *obstack)
int block_find_non_opaque_type(struct symbol *sym, void *data)
struct symbol * block_lookup_symbol(const struct block *block, const char *name, const domain_enum domain)
const struct block * block_for_pc_sect(CORE_ADDR pc, struct obj_section *section)
struct symbol * dict_iterator_next(struct dict_iterator *iterator)
int blockvector_contains_pc(const struct blockvector *bv, CORE_ADDR pc)
struct symbol * block_iter_match_next(const char *name, symbol_compare_ftype *compare, struct block_iterator *iterator)
#define COMPUNIT_BLOCKVECTOR(cust)
int block_inlined_p(const struct block *bl)
int( symbol_compare_ftype)(const char *string1, const char *string2)
struct symbol * dict_iter_match_next(const char *name, symbol_compare_ftype *compare, struct dict_iterator *iterator)
struct symbol * block_find_symbol(const struct block *block, const char *name, const domain_enum domain, block_symbol_matcher_ftype *matcher, void *data)
struct obj_section * find_pc_mapped_section(CORE_ADDR pc)
struct bound_minimal_symbol lookup_minimal_symbol_by_pc(CORE_ADDR pc)
const struct block * block_static_block(const struct block *block)
struct minimal_symbol * minsym
struct gdbarch * block_gdbarch(const struct block *block)
#define COMPUNIT_OBJFILE(cust)
#define SYMBOL_LANGUAGE(symbol)
struct objfile * block_objfile(const struct block *block)
int symbol_matches_domain(enum language symbol_language, domain_enum symbol_domain, domain_enum domain)
#define BLOCKVECTOR_NBLOCKS(blocklist)
void set_block_compunit_symtab(struct block *block, struct compunit_symtab *cu)
static struct block * find_block_in_blockvector(const struct blockvector *bl, CORE_ADDR pc)
struct symbol * block_iter_name_first(const struct block *block, const char *name, struct block_iterator *iterator)
struct symbol * dict_iter_name_first(const struct dictionary *dict, const char *name, struct dict_iterator *iterator)
struct call_site * call_site_for_pc(struct gdbarch *gdbarch, CORE_ADDR pc)
#define SYMBOL_INLINED(symbol)
#define SYMBOL_TYPE(symbol)
struct symbol * dict_iter_name_next(const char *name, struct dict_iterator *iterator)
void * addrmap_find(struct addrmap *map, CORE_ADDR addr)
#define BLOCKVECTOR_MAP(blocklist)
struct symbol * block_iterator_first(const struct block *block, struct block_iterator *iterator)
#define OBSTACK_ZALLOC(OBSTACK, TYPE)
struct block * allocate_global_block(struct obstack *obstack)
#define ALL_BLOCK_SYMBOLS_WITH_NAME(block, name, iter, sym)
struct compunit_symtab * user
int( block_symbol_matcher_ftype)(struct symbol *, void *)
struct using_direct * using_decl
struct symbol * block_iter_match_first(const struct block *block, const char *name, symbol_compare_ftype *compare, struct block_iterator *iterator)
const struct blockvector * blockvector_for_pc(CORE_ADDR pc, const struct block **pblock)
#define COMPUNIT_CALL_SITE_HTAB(cust)
const char * block_scope(const struct block *block)
void throw_error(enum errors error, const char *fmt,...)
#define BLOCK_NAMESPACE(bl)
struct symbol * dict_iterator_first(const struct dictionary *dict, struct dict_iterator *iterator)
#define SYMBOL_IS_ARGUMENT(symbol)
__extension__ enum domain_enum_tag domain