Lines Matching refs:abfd
32 bfd *abfd; member
51 static int slurp_symtab(bfd *abfd, struct a2l_data *a2l) in slurp_symtab() argument
58 if ((bfd_get_file_flags(abfd) & HAS_SYMS) == 0) in slurp_symtab()
59 return bfd_error(bfd_get_filename(abfd)); in slurp_symtab()
61 storage = bfd_get_symtab_upper_bound(abfd); in slurp_symtab()
63 storage = bfd_get_dynamic_symtab_upper_bound(abfd); in slurp_symtab()
67 return bfd_error(bfd_get_filename(abfd)); in slurp_symtab()
71 symcount = bfd_canonicalize_dynamic_symtab(abfd, syms); in slurp_symtab()
73 symcount = bfd_canonicalize_symtab(abfd, syms); in slurp_symtab()
77 return bfd_error(bfd_get_filename(abfd)); in slurp_symtab()
84 static void find_address_in_section(bfd *abfd, asection *section, void *data) in find_address_in_section() argument
93 if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) in find_address_in_section()
97 vma = bfd_get_section_vma(abfd, section); in find_address_in_section()
103 a2l->found = bfd_find_nearest_line(abfd, section, a2l->syms, pc - vma, in find_address_in_section()
110 bfd *abfd; in addr2line_init() local
113 abfd = bfd_openr(path, NULL); in addr2line_init()
114 if (abfd == NULL) in addr2line_init()
117 if (!bfd_check_format(abfd, bfd_object)) in addr2line_init()
124 a2l->abfd = abfd; in addr2line_init()
129 if (slurp_symtab(abfd, a2l)) in addr2line_init()
139 bfd_close(abfd); in addr2line_init()
145 if (a2l->abfd) in addr2line_cleanup()
146 bfd_close(a2l->abfd); in addr2line_cleanup()
174 bfd_map_over_sections(a2l->abfd, find_address_in_section, a2l); in addr2line()
179 while (bfd_find_inliner_info(a2l->abfd, &a2l->filename, in addr2line()