Lines Matching refs:sym

78 	GElf_Sym sym;  member
93 struct elf_sym sym; member
158 struct elf_sym *ret = &iter->sym; in elf_sym_iter_next()
159 GElf_Sym *sym = &ret->sym; in elf_sym_iter_next() local
166 if (!gelf_getsym(iter->syms, idx, sym)) in elf_sym_iter_next()
168 if (GELF_ST_TYPE(sym->st_info) != iter->st_type) in elf_sym_iter_next()
170 name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name); in elf_sym_iter_next()
173 sym_scn = elf_getscn(iter->elf, sym->st_shndx); in elf_sym_iter_next()
224 static bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym *sym, in symbol_match() argument
232 if (strncmp(sym->name, name, name_len) != 0) in symbol_match()
238 if (sym->name[name_len] != '\0' && sym->name[name_len] != '@') in symbol_match()
249 ver_name = elf_get_vername(iter, sym->ver); in symbol_match()
256 return strcmp(sym->name, name) == 0; in symbol_match()
267 static unsigned long elf_sym_offset(struct elf_sym *sym) in elf_sym_offset() argument
269 return sym->sym.st_value - sym->sh.sh_addr + sym->sh.sh_offset; in elf_sym_offset()
314 struct elf_sym *sym; in elf_find_func_offset() local
324 while ((sym = elf_sym_iter_next(&iter))) { in elf_find_func_offset()
325 if (!symbol_match(&iter, sh_types[i], sym, name, name_len, lib_ver)) in elf_find_func_offset()
328 cur_bind = GELF_ST_BIND(sym->sym.st_info); in elf_find_func_offset()
332 if (elf_sym_offset(sym) == ret) { in elf_find_func_offset()
338 sym->name, name, binary_path); in elf_find_func_offset()
349 ret = elf_sym_offset(sym); in elf_find_func_offset()
439 struct elf_sym *sym; in elf_resolve_syms_offsets() local
447 while ((sym = elf_sym_iter_next(&iter))) { in elf_resolve_syms_offsets()
448 unsigned long sym_offset = elf_sym_offset(sym); in elf_resolve_syms_offsets()
449 int bind = GELF_ST_BIND(sym->sym.st_info); in elf_resolve_syms_offsets()
451 .name = sym->name, in elf_resolve_syms_offsets()
468 sym->name, sym_offset, binary_path, *offset); in elf_resolve_syms_offsets()
520 struct elf_sym *sym; in elf_resolve_pattern_offsets() local
528 while ((sym = elf_sym_iter_next(&iter))) { in elf_resolve_pattern_offsets()
529 if (!glob_match(sym->name, pattern)) in elf_resolve_pattern_offsets()
537 offsets[cnt++] = elf_sym_offset(sym); in elf_resolve_pattern_offsets()