Lines Matching defs:sp_die

58 				     Dwarf_Op *fb_ops, Dwarf_Die *sp_die,
93 ret = dwarf_entrypc(sp_die, &tmp);
105 ret = dwarf_highpc(sp_die, &tmp);
454 &pf->sp_die, pf->machine, pf->tvar);
520 static int convert_to_trace_point(Dwarf_Die *sp_die, Dwfl_Module *mod,
530 if (!dwarf_haspc(sp_die, paddr)) {
532 dwarf_diename(sp_die));
536 if (dwarf_entrypc(sp_die, &eaddr) == 0) {
538 symbol = dwarf_diename(sp_die);
586 if (!die_find_realfunc(&pf->cu_die, pf->addr, &pf->sp_die)) {
587 if (die_find_tailfunc(&pf->cu_die, pf->addr, &pf->sp_die)) {
589 dwarf_diename(&pf->sp_die));
598 memcpy(&pf->sp_die, sc_die, sizeof(Dwarf_Die));
601 dwarf_attr(&pf->sp_die, DW_AT_frame_base, &fb_attr);
838 static int find_probe_point_lazy(Dwarf_Die *sp_die, struct probe_finder *pf)
867 return die_walk_lines(sp_die, probe_point_lazy_walker, pf);
870 static void skip_prologue(Dwarf_Die *sp_die, struct probe_finder *pf)
899 die_skip_prologue(sp_die, &pf->cu_die, &pf->addr);
941 static int probe_point_search_cb(Dwarf_Die *sp_die, void *data)
949 if (!die_is_func_def(sp_die) ||
950 !die_match_name(sp_die, pp->function))
954 fname = die_get_decl_file(sp_die);
962 pr_debug("Matched function: %s [%lx]\n", dwarf_diename(sp_die),
963 (unsigned long)dwarf_dieoffset(sp_die));
966 dwarf_decl_line(sp_die, &pf->lno);
969 } else if (die_is_func_instance(sp_die)) {
971 die_entrypc(sp_die, &pf->addr);
975 dwarf_diename(sp_die));
979 param->retval = find_probe_point_lazy(sp_die, pf);
981 skip_prologue(sp_die, pf);
984 param->retval = call_probe_finder(sp_die, pf);
988 param->retval = die_walk_instances(sp_die,
1016 Dwarf_Die *sp_die;
1025 if (dwarf_offdie(dbg, gl->die_offset, param->sp_die)) {
1026 if (dwarf_tag(param->sp_die) != DW_TAG_subprogram)
1029 if (die_match_name(param->sp_die, param->function)) {
1034 fname = die_get_decl_file(param->sp_die);
1067 .sp_die = &pf->sp_die,
1077 ret = probe_point_search_cb(&pf->sp_die, &probe_param);
1177 vf->pf->fb_ops, &pf->sp_die,
1265 ret = convert_to_trace_point(&pf->sp_die, tf->mod, pf->addr,
1406 af->pf.fb_ops, &af->pf.sp_die,
1431 ret2 = die_get_var_range(&af->pf.sp_die,
1492 ret = convert_to_trace_point(&pf->sp_die, af->mod, pf->addr,
1706 static int find_line_range_by_line(Dwarf_Die *sp_die, struct line_finder *lf)
1710 ret = die_walk_lines(sp_die ?: &lf->cu_die, line_range_walk_cb, lf);
1738 static int line_range_search_cb(Dwarf_Die *sp_die, void *data)
1747 fname = die_get_decl_file(sp_die);
1752 if (die_match_name(sp_die, lr->function) && die_is_func_def(sp_die)) {
1753 lf->fname = die_get_decl_file(sp_die);
1754 dwarf_decl_line(sp_die, &lr->offset);
1765 if (!die_is_func_instance(sp_die))
1766 param->retval = die_walk_instances(sp_die,
1769 param->retval = find_line_range_by_line(sp_die, lf);
1795 .cu_die = &lf.cu_die, .sp_die = &lf.sp_die, .found = 0};
1802 line_range_search_cb(&lf.sp_die, &line_range_param);