Lines Matching refs:vr_die
171 static int convert_variable_location(Dwarf_Die *vr_die, Dwarf_Addr addr, in convert_variable_location() argument
185 if (dwarf_attr(vr_die, DW_AT_external, &attr) != NULL) in convert_variable_location()
189 if (dwarf_attr(vr_die, DW_AT_location, &attr) == NULL) in convert_variable_location()
197 (dwarf_tag(vr_die) == DW_TAG_variable)) { in convert_variable_location()
200 dwarf_tag(vr_die) != DW_TAG_formal_parameter) { in convert_variable_location()
228 ret = strlen(dwarf_diename(vr_die)); in convert_variable_location()
232 snprintf(tvar->value, ret + 2, "@%s", dwarf_diename(vr_die)); in convert_variable_location()
290 static int convert_variable_type(Dwarf_Die *vr_die, in convert_variable_type() argument
308 bsize = dwarf_bitsize(vr_die); in convert_variable_type()
311 boffs = dwarf_bitoffset(vr_die); in convert_variable_type()
312 total = dwarf_bytesize(vr_die); in convert_variable_type()
320 if (die_get_real_type(vr_die, &type) == NULL) { in convert_variable_type()
322 dwarf_diename(vr_die)); in convert_variable_type()
327 dwarf_diename(vr_die), dwarf_diename(&type)); in convert_variable_type()
335 dwarf_diename(vr_die), dwarf_diename(&type)); in convert_variable_type()
357 dwarf_diename(vr_die)); in convert_variable_type()
393 static int convert_variable_fields(Dwarf_Die *vr_die, const char *varname, in convert_variable_fields() argument
404 if (die_get_real_type(vr_die, &type) == NULL) { in convert_variable_fields()
435 memcpy(die_mem, vr_die, sizeof(*die_mem)); in convert_variable_fields()
477 if (field->ref && dwarf_diename(vr_die)) { in convert_variable_fields()
523 static int convert_variable(Dwarf_Die *vr_die, struct probe_finder *pf) in convert_variable() argument
529 dwarf_diename(vr_die)); in convert_variable()
531 ret = convert_variable_location(vr_die, pf->addr, pf->fb_ops, in convert_variable()
541 ret = convert_variable_fields(vr_die, pf->pvar->var, in convert_variable()
544 vr_die = &die_mem; in convert_variable()
547 ret = convert_variable_type(vr_die, pf->tvar, pf->pvar->type); in convert_variable()
555 Dwarf_Die vr_die; in find_variable() local
579 if (!die_find_variable_at(sc_die, pf->pvar->var, pf->addr, &vr_die)) { in find_variable()
582 0, &vr_die)) { in find_variable()
589 ret = convert_variable(&vr_die, pf); in find_variable()