Lines Matching refs:sym
232 struct symbol *sym = calloc(1, (symbol_conf.priv_size + in symbol__new() local
233 sizeof(*sym) + namelen)); in symbol__new()
234 if (sym == NULL) in symbol__new()
238 sym = ((void *)sym) + symbol_conf.priv_size; in symbol__new()
240 sym->start = start; in symbol__new()
241 sym->end = len ? start + len : start; in symbol__new()
242 sym->binding = binding; in symbol__new()
243 sym->namelen = namelen - 1; in symbol__new()
246 __func__, name, start, sym->end); in symbol__new()
247 memcpy(sym->name, name, namelen); in symbol__new()
249 return sym; in symbol__new()
252 void symbol__delete(struct symbol *sym) in symbol__delete() argument
254 free(((void *)sym) - symbol_conf.priv_size); in symbol__delete()
257 size_t symbol__fprintf(struct symbol *sym, FILE *fp) in symbol__fprintf() argument
260 sym->start, sym->end, in symbol__fprintf()
261 sym->binding == STB_GLOBAL ? 'g' : in symbol__fprintf()
262 sym->binding == STB_LOCAL ? 'l' : 'w', in symbol__fprintf()
263 sym->name); in symbol__fprintf()
266 size_t symbol__fprintf_symname_offs(const struct symbol *sym, in symbol__fprintf_symname_offs() argument
272 if (sym && sym->name) { in symbol__fprintf_symname_offs()
273 length = fprintf(fp, "%s", sym->name); in symbol__fprintf_symname_offs()
275 if (al->addr < sym->end) in symbol__fprintf_symname_offs()
276 offset = al->addr - sym->start; in symbol__fprintf_symname_offs()
278 offset = al->addr - al->map->start - sym->start; in symbol__fprintf_symname_offs()
286 size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp) in symbol__fprintf_symname() argument
288 return symbol__fprintf_symname_offs(sym, NULL, fp); in symbol__fprintf_symname()
304 void symbols__insert(struct rb_root *symbols, struct symbol *sym) in symbols__insert() argument
308 const u64 ip = sym->start; in symbols__insert()
319 rb_link_node(&sym->rb_node, parent, p); in symbols__insert()
320 rb_insert_color(&sym->rb_node, symbols); in symbols__insert()
356 static struct symbol *symbols__next(struct symbol *sym) in symbols__next() argument
358 struct rb_node *n = rb_next(&sym->rb_node); in symbols__next()
368 struct symbol sym; member
371 static void symbols__insert_by_name(struct rb_root *symbols, struct symbol *sym) in symbols__insert_by_name() argument
377 symn = container_of(sym, struct symbol_name_rb_node, sym); in symbols__insert_by_name()
382 if (strcmp(sym->name, s->sym.name) < 0) in symbols__insert_by_name()
417 cmp = arch__compare_symbol_names(name, s->sym.name); in symbols__find_by_name()
435 if (arch__compare_symbol_names(tmp->sym.name, s->sym.name)) in symbols__find_by_name()
441 return &s->sym; in symbols__find_by_name()
470 struct symbol *dso__next_symbol(struct symbol *sym) in dso__next_symbol() argument
472 return symbols__next(sym); in dso__next_symbol()
475 struct symbol *symbol__next_by_name(struct symbol *sym) in symbol__next_by_name() argument
477 struct symbol_name_rb_node *s = container_of(sym, struct symbol_name_rb_node, sym); in symbol__next_by_name()
480 return n ? &rb_entry(n, struct symbol_name_rb_node, rb_node)->sym : NULL; in symbol__next_by_name()
508 fprintf(fp, "%s\n", pos->sym.name); in dso__fprintf_symbols_by_name()
581 bool symbol__is_idle(struct symbol *sym) in symbol__is_idle() argument
601 if (!sym) in symbol__is_idle()
605 if (!strcmp(idle_symbols[i], sym->name)) in symbol__is_idle()
615 struct symbol *sym; in map__process_kallsym_symbol() local
627 sym = symbol__new(start, 0, kallsyms2elf_binding(type), name); in map__process_kallsym_symbol()
628 if (sym == NULL) in map__process_kallsym_symbol()
634 symbols__insert(root, sym); in map__process_kallsym_symbol()
1124 struct symbol *sym; in dso__load_kcore() local
1177 sym = dso__first_symbol(dso, map->type); in dso__load_kcore()
1179 if (sym && sym->start >= new_map->start && in dso__load_kcore()
1180 sym->start < new_map->end) { in dso__load_kcore()
1306 struct symbol *sym; in dso__load_perf_map() local
1330 sym = symbol__new(start, size, STB_GLOBAL, line + len); in dso__load_perf_map()
1332 if (sym == NULL) in dso__load_perf_map()
1335 if (filter && filter(map, sym)) in dso__load_perf_map()
1336 symbol__delete(sym); in dso__load_perf_map()
1338 symbols__insert(&dso->symbols[map->type], sym); in dso__load_perf_map()