Lines Matching refs:pp
228 static void clear_perf_probe_point(struct perf_probe_point *pp) in clear_perf_probe_point() argument
230 zfree(&pp->file); in clear_perf_probe_point()
231 zfree(&pp->function); in clear_perf_probe_point()
232 zfree(&pp->lazy_line); in clear_perf_probe_point()
367 struct perf_probe_point *pp, in find_alternative_probe_point() argument
378 if (!pp->function || pp->file) in find_alternative_probe_point()
386 map__for_each_symbol_by_name(map, pp->function, sym) { in find_alternative_probe_point()
392 pp->function); in find_alternative_probe_point()
402 pp->function, address); in find_alternative_probe_point()
409 result->offset += pp->offset; in find_alternative_probe_point()
410 result->line += pp->line; in find_alternative_probe_point()
411 result->retprobe = pp->retprobe; in find_alternative_probe_point()
441 struct perf_probe_point pp = { .function = lr->function, in get_alternative_line_range() local
451 ret = find_alternative_probe_point(dinfo, &pp, &result, in get_alternative_line_range()
459 clear_perf_probe_point(&pp); in get_alternative_line_range()
634 struct perf_probe_point *pp, in find_perf_probe_point_from_dwarf() argument
667 (unsigned long)addr, pp); in find_perf_probe_point_from_dwarf()
672 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_dwarf()
1220 struct perf_probe_point *pp __maybe_unused, in find_perf_probe_point_from_dwarf()
1417 struct perf_probe_point *pp = &pev->point; in parse_perf_probe_point() local
1508 pp->file = tmp; in parse_perf_probe_point()
1510 pp->function = tmp; in parse_perf_probe_point()
1522 pp->abs_address = strtoul(pp->function, &tmp, 0); in parse_perf_probe_point()
1535 pp->lazy_line = strdup(arg); /* let leave escapes */ in parse_perf_probe_point()
1536 if (pp->lazy_line == NULL) in parse_perf_probe_point()
1547 pp->line = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1555 pp->offset = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1563 if (pp->file) { in parse_perf_probe_point()
1567 pp->file = strdup_esc(arg); in parse_perf_probe_point()
1568 if (pp->file == NULL) in parse_perf_probe_point()
1573 pp->retprobe = 1; in parse_perf_probe_point()
1588 if (pp->lazy_line && pp->line) { in parse_perf_probe_point()
1594 if (pp->lazy_line && pp->offset) { in parse_perf_probe_point()
1599 if (pp->line && pp->offset) { in parse_perf_probe_point()
1604 if (!pp->line && !pp->lazy_line && pp->file && !pp->function) { in parse_perf_probe_point()
1610 if (pp->offset && !pp->function) { in parse_perf_probe_point()
1615 if ((pp->offset || pp->line || pp->lazy_line) && pp->retprobe) { in parse_perf_probe_point()
1622 pp->function, pp->file, pp->line, pp->offset, pp->retprobe, in parse_perf_probe_point()
1623 pp->lazy_line); in parse_perf_probe_point()
1987 char *synthesize_perf_probe_point(struct perf_probe_point *pp) in synthesize_perf_probe_point() argument
1996 if (pp->function) { in synthesize_perf_probe_point()
1997 if (strbuf_addstr(&buf, pp->function) < 0) in synthesize_perf_probe_point()
1999 if (pp->offset) in synthesize_perf_probe_point()
2000 err = strbuf_addf(&buf, "+%lu", pp->offset); in synthesize_perf_probe_point()
2001 else if (pp->line) in synthesize_perf_probe_point()
2002 err = strbuf_addf(&buf, ":%d", pp->line); in synthesize_perf_probe_point()
2003 else if (pp->retprobe) in synthesize_perf_probe_point()
2008 if (pp->file) { in synthesize_perf_probe_point()
2009 tmp = pp->file; in synthesize_perf_probe_point()
2012 tmp = strchr(pp->file + len - 30, '/'); in synthesize_perf_probe_point()
2013 tmp = tmp ? tmp + 1 : pp->file + len - 30; in synthesize_perf_probe_point()
2016 if (!err && !pp->function && pp->line) in synthesize_perf_probe_point()
2017 err = strbuf_addf(&buf, ":%d", pp->line); in synthesize_perf_probe_point()
2186 struct perf_probe_point *pp, in find_perf_probe_point_from_map() argument
2214 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_map()
2215 pp->offset = addr - map->unmap_ip(map, sym->start); in find_perf_probe_point_from_map()
2216 pp->function = strdup(sym->name); in find_perf_probe_point_from_map()
2217 ret = pp->function ? 0 : -ENOMEM; in find_perf_probe_point_from_map()
2228 struct perf_probe_point *pp, in convert_to_perf_probe_point() argument
2234 ret = find_perf_probe_point_from_dwarf(tp, pp, is_kprobe); in convert_to_perf_probe_point()
2237 ret = find_perf_probe_point_from_map(tp, pp, is_kprobe); in convert_to_perf_probe_point()
2244 pp->function = strdup(tp->symbol); in convert_to_perf_probe_point()
2245 pp->offset = tp->offset; in convert_to_perf_probe_point()
2250 pp->function = strdup(buf); in convert_to_perf_probe_point()
2251 pp->offset = 0; in convert_to_perf_probe_point()
2253 if (pp->function == NULL) in convert_to_perf_probe_point()
2256 pp->retprobe = tp->retprobe; in convert_to_perf_probe_point()
2982 struct perf_probe_point *pp = &pev->point; in find_probe_trace_events_from_map() local
3004 num_matched_functions = find_probe_functions(map, pp->function, syms); in find_probe_trace_events_from_map()
3006 pr_err("Failed to find symbol %s in %s\n", pp->function, in find_probe_trace_events_from_map()
3019 (!pp->retprobe || kretprobe_offset_is_supported())) { in find_probe_trace_events_from_map()
3061 if (pp->offset > sym->end - sym->start) { in find_probe_trace_events_from_map()
3063 pp->offset, sym->name); in find_probe_trace_events_from_map()
3068 tp->address = map->unmap_ip(map, sym->start) + pp->offset; in find_probe_trace_events_from_map()
3080 tp->offset = pp->offset; in find_probe_trace_events_from_map()
3084 tp->retprobe = pp->retprobe; in find_probe_trace_events_from_map()
3142 struct perf_probe_point *pp = &pev->point; in try_to_find_absolute_address() local
3171 tp->retprobe = pp->retprobe; in try_to_find_absolute_address()