Lines Matching refs:sym

190 	struct elf_sym *ret = &iter->sym;
191 GElf_Sym *sym = &ret->sym;
202 if (!gelf_getsym(iter->syms, idx, sym))
204 if (GELF_ST_TYPE(sym->st_info) != iter->st_type)
206 name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name);
209 sym_scn = elf_getscn(iter->elf, sym->st_shndx);
215 if(memcpy(sym,iter->sysms->d_buf + idx,sizeof(GElf_Sym) == NULL) {
218 if(((sym->st_info) & 0xf) != iter->st_type) {
225 name = elfio_string_get_string(strstring, sym->st_name);
229 if(!elf_sec_hdr_by_idx(iter->elf, sym->st_shndx, &ret->sh)) {
293 static bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym *sym,
301 if (strncmp(sym->name, name, name_len) != 0)
307 if (sym->name[name_len] != '\0' && sym->name[name_len] != '@')
318 ver_name = elf_get_vername(iter, sym->ver);
325 return strcmp(sym->name, name) == 0;
334 * sym.st_value (virtual address) into desired final file offset.
336 static unsigned long elf_sym_offset(struct elf_sym *sym)
338 return sym->sym.st_value - sym->sh.sh_addr + sym->sh.sh_offset;
391 struct elf_sym *sym;
401 while ((sym = elf_sym_iter_next(&iter))) {
402 if (!symbol_match(&iter, sh_types[i], sym, name, name_len, lib_ver))
405 cur_bind = GELF_ST_BIND(sym->sym.st_info);
409 if (elf_sym_offset(sym) == ret) {
415 sym->name, name, binary_path);
426 ret = elf_sym_offset(sym);
515 struct elf_sym *sym;
523 while ((sym = elf_sym_iter_next(&iter))) {
524 unsigned long sym_offset = elf_sym_offset(sym);
525 int bind = GELF_ST_BIND(sym->sym.st_info);
527 .name = sym->name,
544 sym->name, sym_offset, binary_path, *offset);
596 struct elf_sym *sym;
604 while ((sym = elf_sym_iter_next(&iter))) {
605 if (!glob_match(sym->name, pattern))
613 offsets[cnt++] = elf_sym_offset(sym);