a2l               147 tools/perf/util/dso.h 	void		 *a2l;
a2l               158 tools/perf/util/srcline.c static int slurp_symtab(bfd *abfd, struct a2l_data *a2l)
a2l               187 tools/perf/util/srcline.c 	a2l->syms = syms;
a2l               195 tools/perf/util/srcline.c 	struct a2l_data *a2l = data;
a2l               198 tools/perf/util/srcline.c 	if (a2l->found)
a2l               209 tools/perf/util/srcline.c 	pc = a2l->addr;
a2l               224 tools/perf/util/srcline.c 	a2l->found = bfd_find_nearest_line(abfd, section, a2l->syms, pc - vma,
a2l               225 tools/perf/util/srcline.c 					   &a2l->filename, &a2l->funcname,
a2l               226 tools/perf/util/srcline.c 					   &a2l->line);
a2l               228 tools/perf/util/srcline.c 	if (a2l->filename && !strlen(a2l->filename))
a2l               229 tools/perf/util/srcline.c 		a2l->filename = NULL;
a2l               235 tools/perf/util/srcline.c 	struct a2l_data *a2l = NULL;
a2l               244 tools/perf/util/srcline.c 	a2l = zalloc(sizeof(*a2l));
a2l               245 tools/perf/util/srcline.c 	if (a2l == NULL)
a2l               248 tools/perf/util/srcline.c 	a2l->abfd = abfd;
a2l               249 tools/perf/util/srcline.c 	a2l->input = strdup(path);
a2l               250 tools/perf/util/srcline.c 	if (a2l->input == NULL)
a2l               253 tools/perf/util/srcline.c 	if (slurp_symtab(abfd, a2l))
a2l               256 tools/perf/util/srcline.c 	return a2l;
a2l               259 tools/perf/util/srcline.c 	if (a2l) {
a2l               260 tools/perf/util/srcline.c 		zfree((char **)&a2l->input);
a2l               261 tools/perf/util/srcline.c 		free(a2l);
a2l               267 tools/perf/util/srcline.c static void addr2line_cleanup(struct a2l_data *a2l)
a2l               269 tools/perf/util/srcline.c 	if (a2l->abfd)
a2l               270 tools/perf/util/srcline.c 		bfd_close(a2l->abfd);
a2l               271 tools/perf/util/srcline.c 	zfree((char **)&a2l->input);
a2l               272 tools/perf/util/srcline.c 	zfree(&a2l->syms);
a2l               273 tools/perf/util/srcline.c 	free(a2l);
a2l               282 tools/perf/util/srcline.c 	struct a2l_data *a2l = dso->a2l;
a2l               283 tools/perf/util/srcline.c 	struct symbol *inline_sym = new_inline_sym(dso, sym, a2l->funcname);
a2l               286 tools/perf/util/srcline.c 	if (a2l->filename)
a2l               287 tools/perf/util/srcline.c 		srcline = srcline_from_fileline(a2l->filename, a2l->line);
a2l               298 tools/perf/util/srcline.c 	struct a2l_data *a2l = dso->a2l;
a2l               300 tools/perf/util/srcline.c 	if (!a2l) {
a2l               301 tools/perf/util/srcline.c 		dso->a2l = addr2line_init(dso_name);
a2l               302 tools/perf/util/srcline.c 		a2l = dso->a2l;
a2l               305 tools/perf/util/srcline.c 	if (a2l == NULL) {
a2l               311 tools/perf/util/srcline.c 	a2l->addr = addr;
a2l               312 tools/perf/util/srcline.c 	a2l->found = false;
a2l               314 tools/perf/util/srcline.c 	bfd_map_over_sections(a2l->abfd, find_address_in_section, a2l);
a2l               316 tools/perf/util/srcline.c 	if (!a2l->found)
a2l               325 tools/perf/util/srcline.c 		while (bfd_find_inliner_info(a2l->abfd, &a2l->filename,
a2l               326 tools/perf/util/srcline.c 					     &a2l->funcname, &a2l->line) &&
a2l               329 tools/perf/util/srcline.c 			if (a2l->filename && !strlen(a2l->filename))
a2l               330 tools/perf/util/srcline.c 				a2l->filename = NULL;
a2l               342 tools/perf/util/srcline.c 		*file = a2l->filename ? strdup(a2l->filename) : NULL;
a2l               347 tools/perf/util/srcline.c 		*line = a2l->line;
a2l               354 tools/perf/util/srcline.c 	struct a2l_data *a2l = dso->a2l;
a2l               356 tools/perf/util/srcline.c 	if (!a2l)
a2l               359 tools/perf/util/srcline.c 	addr2line_cleanup(a2l);
a2l               361 tools/perf/util/srcline.c 	dso->a2l = NULL;