Lines Matching defs:die_mem
120 Dwarf_Die die_mem;
123 if (die_find_realfunc(cu_die, (Dwarf_Addr)addr, &die_mem)
124 && die_entrypc(&die_mem, &faddr) == 0 &&
126 *fname = dwarf_decl_file(&die_mem);
127 dwarf_decl_line(&die_mem, lineno);
143 static int __die_find_inline_cb(Dwarf_Die *die_mem, void *data);
158 Dwarf_Die die_mem;
163 for (sc_die = die_find_realfunc(cu_die, addr, &die_mem);
166 &die_mem)) {
252 * @die_mem: where to store a type DIE
255 * it to die_mem. Return NULL if fails to get a type DIE.
257 Dwarf_Die *die_get_type(Dwarf_Die *vr_die, Dwarf_Die *die_mem)
262 dwarf_formref_die(&attr, die_mem))
263 return die_mem;
269 static Dwarf_Die *__die_get_real_type(Dwarf_Die *vr_die, Dwarf_Die *die_mem)
274 vr_die = die_get_type(vr_die, die_mem);
289 * @die_mem: where to store a type DIE
292 * it to die_mem. Return NULL if fails to get a type DIE.
296 Dwarf_Die *die_get_real_type(Dwarf_Die *vr_die, Dwarf_Die *die_mem)
299 vr_die = __die_get_real_type(vr_die, die_mem);
503 * @die_mem: a buffer for result DIE
507 * @die_mem and returns it. If @callback returns DIE_FIND_CB_CONTINUE,
515 void *data, Dwarf_Die *die_mem)
520 ret = dwarf_child(rt_die, die_mem);
525 ret = callback(die_mem, data);
527 return die_mem;
530 die_find_child(die_mem, callback, data, &child_die)) {
531 memcpy(die_mem, &child_die, sizeof(Dwarf_Die));
532 return die_mem;
535 dwarf_siblingof(die_mem, die_mem) == 0);
542 Dwarf_Die *die_mem;
553 memcpy(ad->die_mem, fn_die, sizeof(Dwarf_Die));
564 * @die_mem: a buffer for result DIE
567 * DIE to @die_mem and returns it if found. Returns NULL if failed.
570 Dwarf_Die *die_mem)
574 ad.die_mem = die_mem;
579 return die_mem;
593 memcpy(ad->die_mem, fn_die, sizeof(Dwarf_Die));
603 * @die_mem: a buffer for result DIE
606 * DIE to @die_mem and returns it if found. Returns NULL if failed.
609 Dwarf_Die *die_mem)
613 ad.die_mem = die_mem;
618 return die_mem;
622 static int __die_find_inline_cb(Dwarf_Die *die_mem, void *data)
626 if (dwarf_tag(die_mem) == DW_TAG_inlined_subroutine &&
627 dwarf_haspc(die_mem, *addr))
637 * @die_mem: a buffer for result DIE
640 * DIE to @die_mem and returns it if found. Returns NULL if failed.
645 Dwarf_Die *die_mem)
647 return die_find_child(sp_die, __die_find_inline_cb, &addr, die_mem);
654 * @die_mem: a buffer for result DIE
657 * DIE to @die_mem and returns it if found. Returns NULL if failed.
662 Dwarf_Die *die_mem)
672 memcpy(die_mem, sp_die, sizeof(Dwarf_Die));
677 return die_mem;
736 Dwarf_Die die_mem;
747 die_find_child(&cu_die, __die_walk_instances_cb, &iwp, &die_mem);
802 Dwarf_Die die_mem;
815 die_find_child(sp_die, __die_walk_funclines_cb, &lw, &die_mem);
855 Dwarf_Die die_mem, *cu_die;
861 cu_die = dwarf_diecu(rt_die, &die_mem, NULL, NULL);
904 if (die_find_inlinefunc(rt_die, addr, &die_mem)) {
906 inf = die_get_call_file(&die_mem);
908 die_get_call_lineno(&die_mem) == lineno)
911 dwarf_decl_line(&die_mem, &inl);
913 decf != dwarf_decl_file(&die_mem))
955 static int __die_find_variable_cb(Dwarf_Die *die_mem, void *data)
961 tag = dwarf_tag(die_mem);
964 die_compare_name(die_mem, fvp->name) &&
969 (dwarf_attr(die_mem, DW_AT_external, &attr) ||
970 dwarf_attr(die_mem, DW_AT_location, &attr) ||
971 dwarf_attr(die_mem, DW_AT_const_value, &attr)))
973 if (dwarf_haspc(die_mem, fvp->addr))
984 * @die_mem: a buffer for result DIE
989 Dwarf_Addr addr, Dwarf_Die *die_mem)
994 die_mem);
997 static int __die_find_member_cb(Dwarf_Die *die_mem, void *data)
1001 if (dwarf_tag(die_mem) == DW_TAG_member) {
1002 if (die_compare_name(die_mem, name))
1004 else if (!dwarf_diename(die_mem)) { /* Unnamed structure */
1006 if (die_get_type(die_mem, &type_die) &&
1018 * @die_mem: a buffer for result DIE
1023 Dwarf_Die *die_mem)
1026 die_mem);