Lines Matching refs:tp

508 static int find_perf_probe_point_from_dwarf(struct probe_trace_point *tp,  in find_perf_probe_point_from_dwarf()  argument
514 u64 addr = tp->address; in find_perf_probe_point_from_dwarf()
523 ret = get_text_start_address(tp->module, &stext); in find_perf_probe_point_from_dwarf()
527 } else if (tp->symbol) { in find_perf_probe_point_from_dwarf()
529 ret = kernel_get_symbol_address_by_name(tp->symbol, &addr, in find_perf_probe_point_from_dwarf()
530 false, !!tp->module); in find_perf_probe_point_from_dwarf()
533 addr += tp->offset; in find_perf_probe_point_from_dwarf()
537 tp->module ? : "kernel"); in find_perf_probe_point_from_dwarf()
539 dinfo = debuginfo_cache__open(tp->module, verbose == 0); in find_perf_probe_point_from_dwarf()
547 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_dwarf()
984 find_perf_probe_point_from_dwarf(struct probe_trace_point *tp __maybe_unused, in find_perf_probe_point_from_dwarf()
1502 struct probe_trace_point *tp = &tev->point; in parse_probe_trace_command() local
1545 tp->retprobe = (pr == 'r'); in parse_probe_trace_command()
1550 tp->module = strndup(argv[1], p - argv[1]); in parse_probe_trace_command()
1569 tp->address = 0; in parse_probe_trace_command()
1578 tp->address = strtoul(fmt1_str, NULL, 0); in parse_probe_trace_command()
1581 tp->symbol = strdup(fmt1_str); in parse_probe_trace_command()
1582 if (tp->symbol == NULL) { in parse_probe_trace_command()
1588 tp->offset = 0; in parse_probe_trace_command()
1590 tp->offset = strtoul(fmt2_str, NULL, 10); in parse_probe_trace_command()
1823 struct probe_trace_point *tp = &tev->point; in synthesize_probe_trace_command() local
1831 len = e_snprintf(buf, MAX_CMDLEN, "%c:%s/%s ", tp->retprobe ? 'r' : 'p', in synthesize_probe_trace_command()
1837 if (tev->uprobes && !tp->module) in synthesize_probe_trace_command()
1845 if (tev->uprobes && !tp->address) { in synthesize_probe_trace_command()
1846 if (!tp->symbol || strcmp(tp->symbol, "0x0")) in synthesize_probe_trace_command()
1853 tp->module, tp->address); in synthesize_probe_trace_command()
1854 else if (!strncmp(tp->symbol, "0x", 2)) in synthesize_probe_trace_command()
1857 tp->module ?: "", tp->module ? ":" : "", in synthesize_probe_trace_command()
1858 tp->address); in synthesize_probe_trace_command()
1861 tp->module ?: "", tp->module ? ":" : "", in synthesize_probe_trace_command()
1862 tp->symbol, tp->offset); in synthesize_probe_trace_command()
1882 static int find_perf_probe_point_from_map(struct probe_trace_point *tp, in find_perf_probe_point_from_map() argument
1888 u64 addr = tp->address; in find_perf_probe_point_from_map()
1892 map = dso__new_map(tp->module); in find_perf_probe_point_from_map()
1897 if (tp->symbol && !addr) { in find_perf_probe_point_from_map()
1898 if (kernel_get_symbol_address_by_name(tp->symbol, in find_perf_probe_point_from_map()
1903 addr += tp->offset; in find_perf_probe_point_from_map()
1911 pp->retprobe = tp->retprobe; in find_perf_probe_point_from_map()
1924 static int convert_to_perf_probe_point(struct probe_trace_point *tp, 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()
1940 if (tp->symbol) { 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()
1944 ret = e_snprintf(buf, 128, "0x%" PRIx64, (u64)tp->address); in convert_to_perf_probe_point()
1953 pp->retprobe = tp->retprobe; in convert_to_perf_probe_point()
2513 struct probe_trace_point *tp; in find_probe_trace_events_from_map() local
2569 tp = &tev->point; 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()
2587 kprobe_warn_out_range(sym->name, tp->address)) { in find_probe_trace_events_from_map()
2588 tp->symbol = NULL; /* Skip it */ in find_probe_trace_events_from_map()
2591 tp->symbol = strdup_or_goto(reloc_sym->name, nomem_out); in find_probe_trace_events_from_map()
2592 tp->offset = tp->address - reloc_sym->addr; in find_probe_trace_events_from_map()
2594 tp->symbol = strdup_or_goto(sym->name, nomem_out); in find_probe_trace_events_from_map()
2595 tp->offset = pp->offset; in find_probe_trace_events_from_map()
2597 tp->realname = strdup_or_goto(sym->name, nomem_out); in find_probe_trace_events_from_map()
2599 tp->retprobe = pp->retprobe; in find_probe_trace_events_from_map()
2649 struct probe_trace_point *tp; in try_to_find_absolute_address() local
2668 tp = &tev->point; in try_to_find_absolute_address()
2675 tp->address = pev->point.abs_address; in try_to_find_absolute_address()
2676 tp->retprobe = pp->retprobe; in try_to_find_absolute_address()
2685 if (asprintf(&tp->symbol, "0x%lx", tp->address) < 0) in try_to_find_absolute_address()
2696 if (asprintf(&tp->realname, "abs_%lx", tp->address) < 0) in try_to_find_absolute_address()
2700 tp->module = strdup(pev->target); in try_to_find_absolute_address()
2701 if (!tp->module) in try_to_find_absolute_address()