Lines Matching refs:sym

80 	GElf_Sym sym;  member
95 struct elf_sym sym; member
160 struct elf_sym *ret = &iter->sym; in elf_sym_iter_next()
161 GElf_Sym *sym = &ret->sym; in elf_sym_iter_next() local
168 if (!gelf_getsym(iter->syms, idx, sym)) in elf_sym_iter_next()
170 if (GELF_ST_TYPE(sym->st_info) != iter->st_type) in elf_sym_iter_next()
172 name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name); in elf_sym_iter_next()
175 sym_scn = elf_getscn(iter->elf, sym->st_shndx); in elf_sym_iter_next()
226 static bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym *sym, in symbol_match() argument
234 if (strncmp(sym->name, name, name_len) != 0) in symbol_match()
240 if (sym->name[name_len] != '\0' && sym->name[name_len] != '@') in symbol_match()
251 ver_name = elf_get_vername(iter, sym->ver); in symbol_match()
258 return strcmp(sym->name, name) == 0; in symbol_match()
269 static unsigned long elf_sym_offset(struct elf_sym *sym) in elf_sym_offset() argument
271 return sym->sym.st_value - sym->sh.sh_addr + sym->sh.sh_offset; in elf_sym_offset()
316 struct elf_sym *sym; in elf_find_func_offset() local
326 while ((sym = elf_sym_iter_next(&iter))) { in elf_find_func_offset()
327 if (!symbol_match(&iter, sh_types[i], sym, name, name_len, lib_ver)) in elf_find_func_offset()
330 cur_bind = GELF_ST_BIND(sym->sym.st_info); in elf_find_func_offset()
334 if (elf_sym_offset(sym) == ret) { in elf_find_func_offset()
340 sym->name, name, binary_path); in elf_find_func_offset()
351 ret = elf_sym_offset(sym); in elf_find_func_offset()
441 struct elf_sym *sym; in elf_resolve_syms_offsets() local
449 while ((sym = elf_sym_iter_next(&iter))) { in elf_resolve_syms_offsets()
450 unsigned long sym_offset = elf_sym_offset(sym); in elf_resolve_syms_offsets()
451 int bind = GELF_ST_BIND(sym->sym.st_info); in elf_resolve_syms_offsets()
453 .name = sym->name, in elf_resolve_syms_offsets()
470 sym->name, sym_offset, binary_path, *offset); in elf_resolve_syms_offsets()
522 struct elf_sym *sym; in elf_resolve_pattern_offsets() local
530 while ((sym = elf_sym_iter_next(&iter))) { in elf_resolve_pattern_offsets()
531 if (!glob_match(sym->name, pattern)) in elf_resolve_pattern_offsets()
539 offsets[cnt++] = elf_sym_offset(sym); in elf_resolve_pattern_offsets()