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;