Lines Matching refs:elf
27 Elf *elf; in elf_open() local
29 elf_fd->elf = NULL; in elf_open()
42 elf = elf_begin(fd, ELF_C_READ_MMAP, NULL); in elf_open()
43 if (!elf) { in elf_open()
49 elf_fd->elf = elf; in elf_open()
57 elf_end(elf_fd->elf); in elf_close()
62 static Elf_Scn *elf_find_next_scn_by_type(Elf *elf, int sh_type, Elf_Scn *scn) in elf_find_next_scn_by_type() argument
64 while ((scn = elf_nextscn(elf, scn)) != NULL) { in elf_find_next_scn_by_type()
84 Elf *elf; member
97 Elf *elf, const char *binary_path, in elf_sym_iter_new() argument
106 if (!gelf_getehdr(elf, &ehdr)) { in elf_sym_iter_new()
111 scn = elf_find_next_scn_by_type(elf, sh_type, NULL); in elf_sym_iter_new()
129 iter->elf = elf; in elf_sym_iter_new()
136 scn = elf_find_next_scn_by_type(elf, SHT_GNU_versym, NULL); in elf_sym_iter_new()
141 scn = elf_find_next_scn_by_type(elf, SHT_GNU_verdef, NULL); in elf_sym_iter_new()
169 name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name); in elf_sym_iter_next()
172 sym_scn = elf_getscn(iter->elf, sym->st_shndx); in elf_sym_iter_next()
217 return elf_strptr(iter->elf, iter->verdef_strtabidx, verdaux.vda_name); in elf_get_vername()
276 long elf_find_func_offset(Elf *elf, const char *binary_path, const char *name) in elf_find_func_offset() argument
285 if (!gelf_getehdr(elf, &ehdr)) { in elf_find_func_offset()
317 ret = elf_sym_iter_new(&iter, elf, binary_path, sh_types[i], STT_FUNC); in elf_find_func_offset()
383 ret = elf_find_func_offset(elf_fd.elf, binary_path, name); in elf_find_func_offset_from_file()
440 err = elf_sym_iter_new(&iter, elf_fd.elf, binary_path, sh_types[i], st_type); in elf_resolve_syms_offsets()
521 err = elf_sym_iter_new(&iter, elf_fd.elf, binary_path, sh_types[i], STT_FUNC); in elf_resolve_pattern_offsets()