Lines Matching refs:pp
61 static char *synthesize_perf_probe_point(struct perf_probe_point *pp);
257 static void clear_perf_probe_point(struct perf_probe_point *pp) in clear_perf_probe_point() argument
259 zfree(&pp->file); in clear_perf_probe_point()
260 zfree(&pp->function); in clear_perf_probe_point()
261 zfree(&pp->lazy_line); in clear_perf_probe_point()
397 struct perf_probe_point *pp, in find_alternative_probe_point() argument
409 if (!pp->function || pp->file) in find_alternative_probe_point()
417 map__for_each_symbol_by_name(map, pp->function, sym, idx) { in find_alternative_probe_point()
423 pp->function); in find_alternative_probe_point()
433 pp->function, address); in find_alternative_probe_point()
439 result->offset += pp->offset; in find_alternative_probe_point()
440 result->line += pp->line; in find_alternative_probe_point()
441 result->retprobe = pp->retprobe; in find_alternative_probe_point()
471 struct perf_probe_point pp = { .function = lr->function, in get_alternative_line_range() local
481 ret = find_alternative_probe_point(dinfo, &pp, &result, in get_alternative_line_range()
489 clear_perf_probe_point(&pp); in get_alternative_line_range()
664 struct perf_probe_point *pp, in find_perf_probe_point_from_dwarf() argument
696 ret = debuginfo__find_probe_point(dinfo, addr, pp); in find_perf_probe_point_from_dwarf()
701 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_dwarf()
1284 struct perf_probe_point *pp __maybe_unused, in find_perf_probe_point_from_dwarf()
1497 struct perf_probe_point *pp = &pev->point; in parse_perf_probe_point() local
1588 pp->file = tmp; in parse_perf_probe_point()
1590 pp->function = tmp; in parse_perf_probe_point()
1602 pp->abs_address = strtoull(pp->function, &tmp, 0); in parse_perf_probe_point()
1615 pp->lazy_line = strdup(arg); /* let leave escapes */ in parse_perf_probe_point()
1616 if (pp->lazy_line == NULL) in parse_perf_probe_point()
1627 pp->line = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1635 pp->offset = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1643 if (pp->file) { in parse_perf_probe_point()
1649 pp->file = strdup_esq(arg); in parse_perf_probe_point()
1650 if (pp->file == NULL) in parse_perf_probe_point()
1655 pp->retprobe = 1; in parse_perf_probe_point()
1670 if (pp->lazy_line && pp->line) { in parse_perf_probe_point()
1676 if (pp->lazy_line && pp->offset) { in parse_perf_probe_point()
1681 if (pp->line && pp->offset) { in parse_perf_probe_point()
1686 if (!pp->line && !pp->lazy_line && pp->file && !pp->function) { in parse_perf_probe_point()
1692 if (pp->offset && !pp->function) { in parse_perf_probe_point()
1697 if ((pp->offset || pp->line || pp->lazy_line) && pp->retprobe) { in parse_perf_probe_point()
1704 pp->function, pp->file, pp->line, pp->offset, pp->retprobe, in parse_perf_probe_point()
1705 pp->lazy_line); in parse_perf_probe_point()
2069 static char *synthesize_perf_probe_point(struct perf_probe_point *pp) in synthesize_perf_probe_point() argument
2078 if (pp->function) { in synthesize_perf_probe_point()
2079 if (strbuf_addstr(&buf, pp->function) < 0) in synthesize_perf_probe_point()
2081 if (pp->offset) in synthesize_perf_probe_point()
2082 err = strbuf_addf(&buf, "+%lu", pp->offset); in synthesize_perf_probe_point()
2083 else if (pp->line) in synthesize_perf_probe_point()
2084 err = strbuf_addf(&buf, ":%d", pp->line); in synthesize_perf_probe_point()
2085 else if (pp->retprobe) in synthesize_perf_probe_point()
2090 if (pp->file) { in synthesize_perf_probe_point()
2091 tmp = pp->file; in synthesize_perf_probe_point()
2094 tmp = strchr(pp->file + len - 30, '/'); in synthesize_perf_probe_point()
2095 tmp = tmp ? tmp + 1 : pp->file + len - 30; in synthesize_perf_probe_point()
2098 if (!err && !pp->function && pp->line) in synthesize_perf_probe_point()
2099 err = strbuf_addf(&buf, ":%d", pp->line); in synthesize_perf_probe_point()
2284 struct perf_probe_point *pp, in find_perf_probe_point_from_map() argument
2312 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_map()
2313 pp->offset = addr - map__unmap_ip(map, sym->start); in find_perf_probe_point_from_map()
2314 pp->function = strdup(sym->name); in find_perf_probe_point_from_map()
2315 ret = pp->function ? 0 : -ENOMEM; in find_perf_probe_point_from_map()
2324 struct perf_probe_point *pp, in convert_to_perf_probe_point() argument
2330 ret = find_perf_probe_point_from_dwarf(tp, pp, is_kprobe); in convert_to_perf_probe_point()
2333 ret = find_perf_probe_point_from_map(tp, pp, is_kprobe); in convert_to_perf_probe_point()
2340 pp->function = strdup(tp->symbol); in convert_to_perf_probe_point()
2341 pp->offset = tp->offset; in convert_to_perf_probe_point()
2346 pp->function = strdup(buf); in convert_to_perf_probe_point()
2347 pp->offset = 0; in convert_to_perf_probe_point()
2349 if (pp->function == NULL) in convert_to_perf_probe_point()
2352 pp->retprobe = tp->retprobe; in convert_to_perf_probe_point()
3123 struct perf_probe_point *pp = &pev->point; in find_probe_trace_events_from_map() local
3145 num_matched_functions = find_probe_functions(map, pp->function, syms); in find_probe_trace_events_from_map()
3155 pr_err("Failed to find symbol %s in %s\n", pp->function, in find_probe_trace_events_from_map()
3168 (!pp->retprobe || kretprobe_offset_is_supported())) { in find_probe_trace_events_from_map()
3213 if (pp->offset > sym->end - sym->start) { in find_probe_trace_events_from_map()
3215 pp->offset, sym->name); in find_probe_trace_events_from_map()
3220 tp->address = map__unmap_ip(map, sym->start) + pp->offset; in find_probe_trace_events_from_map()
3232 tp->offset = pp->offset; in find_probe_trace_events_from_map()
3236 tp->retprobe = pp->retprobe; in find_probe_trace_events_from_map()
3294 struct perf_probe_point *pp = &pev->point; in try_to_find_absolute_address() local
3323 tp->retprobe = pp->retprobe; in try_to_find_absolute_address()