Lines Matching refs:sp_die

176 				     Dwarf_Op *fb_ops, Dwarf_Die *sp_die,
211 ret = dwarf_entrypc(sp_die, &tmp);
223 ret = dwarf_highpc(sp_die, &tmp);
574 &pf->sp_die, pf->machine, pf->tvar);
640 static int convert_to_trace_point(Dwarf_Die *sp_die, Dwfl_Module *mod,
650 if (!dwarf_haspc(sp_die, paddr)) {
652 dwarf_diename(sp_die));
656 if (dwarf_entrypc(sp_die, &eaddr) == 0) {
658 symbol = dwarf_diename(sp_die);
706 if (!die_find_realfunc(&pf->cu_die, pf->addr, &pf->sp_die)) {
707 if (die_find_tailfunc(&pf->cu_die, pf->addr, &pf->sp_die)) {
709 dwarf_diename(&pf->sp_die));
718 memcpy(&pf->sp_die, sc_die, sizeof(Dwarf_Die));
721 dwarf_attr(&pf->sp_die, DW_AT_frame_base, &fb_attr);
958 static int find_probe_point_lazy(Dwarf_Die *sp_die, struct probe_finder *pf)
987 return die_walk_lines(sp_die, probe_point_lazy_walker, pf);
990 static void skip_prologue(Dwarf_Die *sp_die, struct probe_finder *pf)
1019 die_skip_prologue(sp_die, &pf->cu_die, &pf->addr);
1061 static int probe_point_search_cb(Dwarf_Die *sp_die, void *data)
1069 if (!die_is_func_def(sp_die) ||
1070 !die_match_name(sp_die, pp->function))
1074 fname = die_get_decl_file(sp_die);
1082 pr_debug("Matched function: %s [%lx]\n", dwarf_diename(sp_die),
1083 (unsigned long)dwarf_dieoffset(sp_die));
1086 dwarf_decl_line(sp_die, &pf->lno);
1089 } else if (die_is_func_instance(sp_die)) {
1091 die_entrypc(sp_die, &pf->addr);
1095 dwarf_diename(sp_die));
1099 param->retval = find_probe_point_lazy(sp_die, pf);
1101 skip_prologue(sp_die, pf);
1104 param->retval = call_probe_finder(sp_die, pf);
1108 param->retval = die_walk_instances(sp_die,
1136 Dwarf_Die *sp_die;
1145 if (dwarf_offdie(dbg, gl->die_offset, param->sp_die)) {
1146 if (dwarf_tag(param->sp_die) != DW_TAG_subprogram)
1149 if (die_match_name(param->sp_die, param->function)) {
1154 fname = die_get_decl_file(param->sp_die);
1187 .sp_die = &pf->sp_die,
1197 ret = probe_point_search_cb(&pf->sp_die, &probe_param);
1297 vf->pf->fb_ops, &pf->sp_die,
1385 ret = convert_to_trace_point(&pf->sp_die, tf->mod, pf->addr,
1526 af->pf.fb_ops, &af->pf.sp_die,
1551 ret2 = die_get_var_range(&af->pf.sp_die,
1612 ret = convert_to_trace_point(&pf->sp_die, af->mod, pf->addr,
1864 static int find_line_range_by_line(Dwarf_Die *sp_die, struct line_finder *lf)
1868 ret = die_walk_lines(sp_die ?: &lf->cu_die, line_range_walk_cb, lf);
1896 static int line_range_search_cb(Dwarf_Die *sp_die, void *data)
1905 fname = die_get_decl_file(sp_die);
1910 if (die_match_name(sp_die, lr->function) && die_is_func_def(sp_die)) {
1911 lf->fname = die_get_decl_file(sp_die);
1912 dwarf_decl_line(sp_die, &lr->offset);
1923 if (!die_is_func_instance(sp_die))
1924 param->retval = die_walk_instances(sp_die,
1927 param->retval = find_line_range_by_line(sp_die, lf);
1953 .cu_die = &lf.cu_die, .sp_die = &lf.sp_die, .found = 0};
1960 line_range_search_cb(&lf.sp_die, &line_range_param);