Lines Matching defs:sym
77 GElf_Sym sym;
92 struct elf_sym sym;
157 struct elf_sym *ret = &iter->sym;
158 GElf_Sym *sym = &ret->sym;
165 if (!gelf_getsym(iter->syms, idx, sym))
167 if (GELF_ST_TYPE(sym->st_info) != iter->st_type)
169 name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name);
172 sym_scn = elf_getscn(iter->elf, sym->st_shndx);
223 static bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym *sym,
231 if (strncmp(sym->name, name, name_len) != 0)
237 if (sym->name[name_len] != '\0' && sym->name[name_len] != '@')
248 ver_name = elf_get_vername(iter, sym->ver);
255 return strcmp(sym->name, name) == 0;
264 * sym.st_value (virtual address) into desired final file offset.
266 static unsigned long elf_sym_offset(struct elf_sym *sym)
268 return sym->sym.st_value - sym->sh.sh_addr + sym->sh.sh_offset;
313 struct elf_sym *sym;
323 while ((sym = elf_sym_iter_next(&iter))) {
324 if (!symbol_match(&iter, sh_types[i], sym, name, name_len, lib_ver))
327 cur_bind = GELF_ST_BIND(sym->sym.st_info);
331 if (elf_sym_offset(sym) == ret) {
337 sym->name, name, binary_path);
348 ret = elf_sym_offset(sym);
438 struct elf_sym *sym;
446 while ((sym = elf_sym_iter_next(&iter))) {
447 unsigned long sym_offset = elf_sym_offset(sym);
448 int bind = GELF_ST_BIND(sym->sym.st_info);
450 .name = sym->name,
467 sym->name, sym_offset, binary_path, *offset);
519 struct elf_sym *sym;
527 while ((sym = elf_sym_iter_next(&iter))) {
528 if (!glob_match(sym->name, pattern))
536 offsets[cnt++] = elf_sym_offset(sym);