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