Lines Matching refs:pp

70 static char *synthesize_perf_probe_point(struct perf_probe_point *pp);
233 static void clear_perf_probe_point(struct perf_probe_point *pp) in clear_perf_probe_point() argument
235 free(pp->file); in clear_perf_probe_point()
236 free(pp->function); in clear_perf_probe_point()
237 free(pp->lazy_line); in clear_perf_probe_point()
310 struct perf_probe_point *pp, in find_alternative_probe_point() argument
320 if (!pp->function || pp->file) in find_alternative_probe_point()
328 map__for_each_symbol_by_name(map, pp->function, sym) { in find_alternative_probe_point()
340 pp->function, address); in find_alternative_probe_point()
347 result->offset += pp->offset; in find_alternative_probe_point()
348 result->line += pp->line; in find_alternative_probe_point()
349 result->retprobe = pp->retprobe; in find_alternative_probe_point()
379 struct perf_probe_point pp = { .function = lr->function, in get_alternative_line_range() local
389 ret = find_alternative_probe_point(dinfo, &pp, &result, in get_alternative_line_range()
397 clear_perf_probe_point(&pp); in get_alternative_line_range()
509 struct perf_probe_point *pp, in find_perf_probe_point_from_dwarf() argument
542 (unsigned long)addr, pp); in find_perf_probe_point_from_dwarf()
547 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_dwarf()
985 struct perf_probe_point *pp __maybe_unused, in find_perf_probe_point_from_dwarf()
1151 struct perf_probe_point *pp = &pev->point; in parse_perf_probe_point() local
1217 pp->file = tmp; in parse_perf_probe_point()
1219 pp->function = tmp; in parse_perf_probe_point()
1231 pp->abs_address = strtoul(pp->function, &tmp, 0); in parse_perf_probe_point()
1244 pp->lazy_line = strdup(arg); in parse_perf_probe_point()
1245 if (pp->lazy_line == NULL) in parse_perf_probe_point()
1256 pp->line = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1264 pp->offset = strtoul(arg, &tmp, 0); in parse_perf_probe_point()
1272 if (pp->file) { in parse_perf_probe_point()
1276 pp->file = strdup(arg); in parse_perf_probe_point()
1277 if (pp->file == NULL) in parse_perf_probe_point()
1282 pp->retprobe = 1; in parse_perf_probe_point()
1297 if (pp->lazy_line && pp->line) { in parse_perf_probe_point()
1303 if (pp->lazy_line && pp->offset) { in parse_perf_probe_point()
1308 if (pp->line && pp->offset) { in parse_perf_probe_point()
1313 if (!pp->line && !pp->lazy_line && pp->file && !pp->function) { in parse_perf_probe_point()
1319 if (pp->offset && !pp->function) { in parse_perf_probe_point()
1324 if (pp->retprobe && !pp->function) { in parse_perf_probe_point()
1329 if ((pp->offset || pp->line || pp->lazy_line) && pp->retprobe) { in parse_perf_probe_point()
1336 pp->function, pp->file, pp->line, pp->offset, pp->retprobe, in parse_perf_probe_point()
1337 pp->lazy_line); in parse_perf_probe_point()
1664 static char *synthesize_perf_probe_point(struct perf_probe_point *pp) in synthesize_perf_probe_point() argument
1675 if (pp->offset) { in synthesize_perf_probe_point()
1676 ret = e_snprintf(offs, 32, "+%lu", pp->offset); in synthesize_perf_probe_point()
1680 if (pp->line) { in synthesize_perf_probe_point()
1681 ret = e_snprintf(line, 32, ":%d", pp->line); in synthesize_perf_probe_point()
1685 if (pp->file) { in synthesize_perf_probe_point()
1686 tmp = pp->file; in synthesize_perf_probe_point()
1689 tmp = strchr(pp->file + len - 30, '/'); in synthesize_perf_probe_point()
1690 tmp = tmp ? tmp + 1 : pp->file + len - 30; in synthesize_perf_probe_point()
1697 if (pp->function) in synthesize_perf_probe_point()
1698 ret = e_snprintf(buf, MAX_CMDLEN, "%s%s%s%s%s", pp->function, in synthesize_perf_probe_point()
1699 offs, pp->retprobe ? "%return" : "", line, in synthesize_perf_probe_point()
1883 struct perf_probe_point *pp, in find_perf_probe_point_from_map() argument
1911 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_map()
1912 pp->offset = addr - map->unmap_ip(map, sym->start); in find_perf_probe_point_from_map()
1913 pp->function = strdup(sym->name); in find_perf_probe_point_from_map()
1914 ret = pp->function ? 0 : -ENOMEM; in find_perf_probe_point_from_map()
1925 struct perf_probe_point *pp, in convert_to_perf_probe_point() argument
1931 ret = find_perf_probe_point_from_dwarf(tp, pp, is_kprobe); in convert_to_perf_probe_point()
1934 ret = find_perf_probe_point_from_map(tp, pp, is_kprobe); in convert_to_perf_probe_point()
1941 pp->function = strdup(tp->symbol); in convert_to_perf_probe_point()
1942 pp->offset = tp->offset; in convert_to_perf_probe_point()
1947 pp->function = strdup(buf); in convert_to_perf_probe_point()
1948 pp->offset = 0; in convert_to_perf_probe_point()
1950 if (pp->function == NULL) in convert_to_perf_probe_point()
1953 pp->retprobe = tp->retprobe; in convert_to_perf_probe_point()
2512 struct perf_probe_point *pp = &pev->point; in find_probe_trace_events_from_map() local
2533 num_matched_functions = find_probe_functions(map, pp->function, syms); in find_probe_trace_events_from_map()
2535 pr_err("Failed to find symbol %s in %s\n", pp->function, in find_probe_trace_events_from_map()
2547 if (!pev->uprobes && !pp->retprobe && !pev->target) { in find_probe_trace_events_from_map()
2576 if (pp->offset > sym->end - sym->start) { in find_probe_trace_events_from_map()
2578 pp->offset, sym->name); in find_probe_trace_events_from_map()
2583 tp->address = map->unmap_ip(map, sym->start) + pp->offset; in find_probe_trace_events_from_map()
2595 tp->offset = pp->offset; in find_probe_trace_events_from_map()
2599 tp->retprobe = pp->retprobe; in find_probe_trace_events_from_map()
2647 struct perf_probe_point *pp = &pev->point; in try_to_find_absolute_address() local
2676 tp->retprobe = pp->retprobe; in try_to_find_absolute_address()