Lines Matching refs:sym

245 	sym_entry_t *sym;
284 for (i = 0, sym = p_symtab; i < tgt->dt_symcount; i++) {
285 if (gelf_getsym(symdata, i, &(sym->se_sym)) == NULL) {
295 if (!IS_DATA_TYPE(GELF_ST_TYPE(sym->se_sym.st_info))) {
300 if (sym->se_sym.st_shndx == SHN_XINDEX && symshndx != NULL) {
304 sym->se_shndx = -1;
306 sym->se_shndx = symshndx[i];
309 sym->se_shndx = sym->se_sym.st_shndx;
313 if (sym->se_shndx == SHN_ABS) {
320 if (sym->se_sym.st_value == 0) {
338 sym++;
347 if (sym->se_shndx == SHN_UNDEF ||
348 sym->se_shndx >= SHN_LORESERVE) {
353 if ((sym->se_name = elf_strptr(tgt->dt_elf, shdr.sh_link,
354 (size_t)sym->se_sym.st_name)) == NULL) {
365 if (tgt->dt_shnmap[sym->se_shndx].dm_mapped)
366 sym->se_sym.st_value +=
367 tgt->dt_shnmap[sym->se_shndx].dm_start;
369 sym++;
647 sym_entry_t *sym, *osym, *match;
659 sym = tgt->dt_symcache;
660 *offset = addr - sym->se_sym.st_value;
661 *size = sym->se_sym.st_size;
663 *isfunc = (GELF_ST_TYPE(sym->se_sym.st_info) ==
665 return (sym->se_name);
675 sym = &tgt->dt_symtab[mid];
677 if (addr >= sym->se_sym.st_value &&
678 addr < sym->se_sym.st_value + sym->se_sym.st_size &&
679 (!found || sym->se_sym.st_value > osym->se_sym.st_value)) {
680 osym = sym;
682 } else if (addr == sym->se_sym.st_value) {
688 match = sym;
691 if (addr < sym->se_sym.st_value)
708 sym = osym;
714 } while ((sym->se_sym.st_value == osym->se_sym.st_value) &&
719 tgt->dt_symcache = sym;
721 *offset = addr - sym->se_sym.st_value;
722 *size = sym->se_sym.st_size;
724 *isfunc = (GELF_ST_TYPE(sym->se_sym.st_info) == STT_FUNC);
726 return (sym->se_name);
736 sym_entry_t *sym;
738 sym = (tgt->dt_symcache != NULL) ? tgt->dt_symcache : tgt->dt_symtab;
740 while (sym != (tgt->dt_symtab + tgt->dt_symcount)) {
741 if (sym->se_sym.st_value >= addr)
742 return (sym->se_sym.st_value - addr);
743 sym++;
872 sym_entry_t *sym;
877 for (i = 0, sym = tgt->dt_symtab; i < tgt->dt_symcount; i++, sym++) {
880 if ((GELF_ST_TYPE(sym->se_sym.st_info) != STT_FUNC) ||
881 (sym->se_name == NULL) ||
882 (sym->se_sym.st_size == 0) ||
883 (sym->se_shndx >= SHN_LORESERVE))
887 if ((scn = elf_getscn(tgt->dt_elf, sym->se_shndx)) == NULL ||
892 tgt->dt_filename, sym->se_shndx);
896 if (tgt->dt_shnmap[sym->se_shndx].dm_mapped)
897 shdr.sh_addr = tgt->dt_shnmap[sym->se_shndx].dm_start;
903 if (sym->se_sym.st_value < shdr.sh_addr ||
904 (sym->se_sym.st_value + sym->se_sym.st_size) >
907 tgt->dt_filename, sym->se_sym.st_shndx,
908 sym->se_sym.st_value);
912 df.df_sym = sym;
913 df.df_offset = sym->se_sym.st_value - shdr.sh_addr;