Lines Matching refs:dso
19 static const char *dso__name(struct dso *dso) in dso__name() argument
23 if (dso->symsrc_filename) in dso__name()
24 dso_name = dso->symsrc_filename; in dso__name()
26 dso_name = dso->long_name; in dso__name()
38 struct inline_node *node, struct dso *dso) in inline_list__append() argument
50 if (dso != NULL) { in inline_list__append()
51 demangled = dso__demangle_sym(dso, 0, funcname); in inline_list__append()
210 static int inline_list__append_dso_a2l(struct dso *dso, in inline_list__append_dso_a2l() argument
213 struct a2l_data *a2l = dso->a2l; in inline_list__append_dso_a2l()
217 return inline_list__append(filename, funcname, a2l->line, node, dso); in inline_list__append_dso_a2l()
221 char **file, unsigned int *line, struct dso *dso, in addr2line() argument
225 struct a2l_data *a2l = dso->a2l; in addr2line()
228 dso->a2l = addr2line_init(dso_name); in addr2line()
229 a2l = dso->a2l; in addr2line()
248 if (node && inline_list__append_dso_a2l(dso, node)) in addr2line()
259 if (inline_list__append_dso_a2l(dso, node)) in addr2line()
278 void dso__free_a2l(struct dso *dso) in dso__free_a2l() argument
280 struct a2l_data *a2l = dso->a2l; in dso__free_a2l()
287 dso->a2l = NULL; in dso__free_a2l()
291 struct dso *dso) in addr2inlines() argument
304 if (!addr2line(dso_name, addr, NULL, NULL, dso, TRUE, node)) in addr2inlines()
342 struct dso *dso __maybe_unused, in addr2line()
379 void dso__free_a2l(struct dso *dso __maybe_unused) in dso__free_a2l()
384 struct dso *dso __maybe_unused) in addr2inlines()
443 char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym, in __get_srcline() argument
451 if (!dso->has_srcline) in __get_srcline()
454 dso_name = dso__name(dso); in __get_srcline()
458 if (!addr2line(dso_name, addr, &file, &line, dso, unwind_inlines, NULL)) in __get_srcline()
468 dso->a2l_fails = 0; in __get_srcline()
474 if (dso->a2l_fails && ++dso->a2l_fails > A2L_FAIL_LIMIT) { in __get_srcline()
475 dso->has_srcline = 0; in __get_srcline()
476 dso__free_a2l(dso); in __get_srcline()
487 } else if (asprintf(&srcline, "%s[%" PRIx64 "]", dso->short_name, addr) < 0) in __get_srcline()
498 char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym, in get_srcline() argument
501 return __get_srcline(dso, addr, sym, show_sym, show_addr, false); in get_srcline()
504 struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr) in dso__parse_addr_inlines() argument
508 dso_name = dso__name(dso); in dso__parse_addr_inlines()
512 return addr2inlines(dso_name, addr, dso); in dso__parse_addr_inlines()