Print this page
4054 dis sometimes decides random symbols are functions
*** 641,653 ****
if (tgt->dt_symcache != NULL &&
addr >= tgt->dt_symcache->se_sym.st_value &&
addr < tgt->dt_symcache->se_sym.st_value +
tgt->dt_symcache->se_sym.st_size) {
! *offset = addr - tgt->dt_symcache->se_sym.st_value;
! *size = tgt->dt_symcache->se_sym.st_size;
! return (tgt->dt_symcache->se_name);
}
lo = 0;
hi = (tgt->dt_symcount - 1);
found = 0;
--- 641,657 ----
if (tgt->dt_symcache != NULL &&
addr >= tgt->dt_symcache->se_sym.st_value &&
addr < tgt->dt_symcache->se_sym.st_value +
tgt->dt_symcache->se_sym.st_size) {
! sym = tgt->dt_symcache;
! *offset = addr - sym->se_sym.st_value;
! *size = sym->se_sym.st_size;
! if (isfunc != NULL)
! *isfunc = (GELF_ST_TYPE(sym->se_sym.st_info) ==
! STT_FUNC);
! return (sym->se_name);
}
lo = 0;
hi = (tgt->dt_symcount - 1);
found = 0;