Lines Matching refs:sym

226 	struct symbol *sym = calloc(1, (symbol_conf.priv_size +  in symbol__new()  local
227 sizeof(*sym) + namelen)); in symbol__new()
228 if (sym == NULL) in symbol__new()
232 sym = ((void *)sym) + symbol_conf.priv_size; in symbol__new()
234 sym->start = start; in symbol__new()
235 sym->end = len ? start + len : start; in symbol__new()
236 sym->binding = binding; in symbol__new()
237 sym->namelen = namelen - 1; in symbol__new()
240 __func__, name, start, sym->end); in symbol__new()
241 memcpy(sym->name, name, namelen); in symbol__new()
243 return sym; in symbol__new()
246 void symbol__delete(struct symbol *sym) in symbol__delete() argument
248 free(((void *)sym) - symbol_conf.priv_size); in symbol__delete()
251 size_t symbol__fprintf(struct symbol *sym, FILE *fp) in symbol__fprintf() argument
254 sym->start, sym->end, in symbol__fprintf()
255 sym->binding == STB_GLOBAL ? 'g' : in symbol__fprintf()
256 sym->binding == STB_LOCAL ? 'l' : 'w', in symbol__fprintf()
257 sym->name); in symbol__fprintf()
260 size_t symbol__fprintf_symname_offs(const struct symbol *sym, in symbol__fprintf_symname_offs() argument
266 if (sym && sym->name) { in symbol__fprintf_symname_offs()
267 length = fprintf(fp, "%s", sym->name); in symbol__fprintf_symname_offs()
269 if (al->addr < sym->end) in symbol__fprintf_symname_offs()
270 offset = al->addr - sym->start; in symbol__fprintf_symname_offs()
272 offset = al->addr - al->map->start - sym->start; in symbol__fprintf_symname_offs()
280 size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp) in symbol__fprintf_symname() argument
282 return symbol__fprintf_symname_offs(sym, NULL, fp); in symbol__fprintf_symname()
298 void symbols__insert(struct rb_root *symbols, struct symbol *sym) in symbols__insert() argument
302 const u64 ip = sym->start; in symbols__insert()
313 rb_link_node(&sym->rb_node, parent, p); in symbols__insert()
314 rb_insert_color(&sym->rb_node, symbols); in symbols__insert()
350 static struct symbol *symbols__next(struct symbol *sym) in symbols__next() argument
352 struct rb_node *n = rb_next(&sym->rb_node); in symbols__next()
362 struct symbol sym; member
365 static void symbols__insert_by_name(struct rb_root *symbols, struct symbol *sym) in symbols__insert_by_name() argument
371 symn = container_of(sym, struct symbol_name_rb_node, sym); in symbols__insert_by_name()
376 if (strcmp(sym->name, s->sym.name) < 0) in symbols__insert_by_name()
411 cmp = strcmp(name, s->sym.name); in symbols__find_by_name()
429 if (strcmp(tmp->sym.name, s->sym.name)) in symbols__find_by_name()
435 return &s->sym; in symbols__find_by_name()
449 struct symbol *dso__next_symbol(struct symbol *sym) in dso__next_symbol() argument
451 return symbols__next(sym); in dso__next_symbol()
454 struct symbol *symbol__next_by_name(struct symbol *sym) in symbol__next_by_name() argument
456 struct symbol_name_rb_node *s = container_of(sym, struct symbol_name_rb_node, sym); in symbol__next_by_name()
459 return n ? &rb_entry(n, struct symbol_name_rb_node, rb_node)->sym : NULL; in symbol__next_by_name()
487 fprintf(fp, "%s\n", pos->sym.name); in dso__fprintf_symbols_by_name()
560 bool symbol__is_idle(struct symbol *sym) in symbol__is_idle() argument
580 if (!sym) in symbol__is_idle()
584 if (!strcmp(idle_symbols[i], sym->name)) in symbol__is_idle()
594 struct symbol *sym; in map__process_kallsym_symbol() local
606 sym = symbol__new(start, 0, kallsyms2elf_type(type), name); in map__process_kallsym_symbol()
607 if (sym == NULL) in map__process_kallsym_symbol()
613 symbols__insert(root, sym); in map__process_kallsym_symbol()
1105 struct symbol *sym; in dso__load_kcore() local
1155 sym = dso__first_symbol(dso, map->type); in dso__load_kcore()
1157 if (sym && sym->start >= new_map->start && in dso__load_kcore()
1158 sym->start < new_map->end) { in dso__load_kcore()
1281 struct symbol *sym; in dso__load_perf_map() local
1305 sym = symbol__new(start, size, STB_GLOBAL, line + len); in dso__load_perf_map()
1307 if (sym == NULL) in dso__load_perf_map()
1310 if (filter && filter(map, sym)) in dso__load_perf_map()
1311 symbol__delete(sym); in dso__load_perf_map()
1313 symbols__insert(&dso->symbols[map->type], sym); in dso__load_perf_map()