di->text_avma+di->text_size - sym_addr;
risym.name = ML_(addStr)(di, name, -1);
risym.isText = True;
+ risym.isIFunc = False;
// Lots of user function names get prepended with an underscore. Eg. the
// function 'f' becomes the symbol '_f'. And the "below main"
// function is called "start". So we skip the leading underscore, and
vsym.size = sym->data_v1.p_name.namelen;
// FIXME: .namelen is sizeof(.data) including .name[]
vsym.isText = (sym->generic.id == S_PUB_V1);
+ vsym.isIFunc = False;
ML_(addSym)( di, &vsym );
n_syms_read++;
}
// not size of function!
vsym.isText = !!(IMAGE_SCN_CNT_CODE
& sectp[sym->data_v2.segment-1].Characteristics);
+ vsym.isIFunc = False;
ML_(addSym)( di, &vsym );
n_syms_read++;
}
// .text of the function
vsym.isText = !!(IMAGE_SCN_CNT_CODE
& sectp[sym->data_v2.segment-1].Characteristics);
+ vsym.isIFunc = False;
ML_(addSym)( di, &vsym );
n_syms_read++;
}
vsym.name = nmstr;
vsym.size = sym->proc_v1.proc_len;
vsym.isText = True;
+ vsym.isIFunc = False;
if (debug)
VG_(message)(Vg_UserMsg,
"Adding function %s addr=%#lx length=%d\n",
vsym.name = nmstr;
vsym.size = sym->proc_v2.proc_len;
vsym.isText = True;
+ vsym.isIFunc = False;
if (debug)
VG_(message)(Vg_UserMsg,
"Adding function %s addr=%#lx length=%d\n",
vsym.name = nmstr;
vsym.size = sym->proc_v3.proc_len;
vsym.isText = 1;
+ vsym.isIFunc = False;
ML_(addSym)( di, &vsym );
n_syms_read++;
}
/* Actually add the symbol (finallyatlast) */
if (sane) {
UInt nlen;
- dis.addr = addr;
- dis.size = size;
- dis.tocptr = s->r2known ? s->r2value : 0;
- dis.isText = True;
+ dis.addr = addr;
+ dis.size = size;
+ dis.tocptr = s->r2known ? s->r2value : 0;
+ dis.isText = True;
+ dis.isIFunc = False;
vg_assert(!is_empty_Name(s->name));
nlen = s->name.len;
vg_assert(nlen > 0);