diff options
-rw-r--r-- | tools/perf/util/header.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 4f9b247fb31..e909d43cf54 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
@@ -2093,6 +2093,35 @@ static int read_attr(int fd, struct perf_header *ph, | |||
2093 | return ret <= 0 ? -1 : 0; | 2093 | return ret <= 0 ? -1 : 0; |
2094 | } | 2094 | } |
2095 | 2095 | ||
2096 | static int perf_evsel__set_tracepoint_name(struct perf_evsel *evsel) | ||
2097 | { | ||
2098 | struct event_format *event = trace_find_event(evsel->attr.config); | ||
2099 | char bf[128]; | ||
2100 | |||
2101 | if (event == NULL) | ||
2102 | return -1; | ||
2103 | |||
2104 | snprintf(bf, sizeof(bf), "%s:%s", event->system, event->name); | ||
2105 | evsel->name = strdup(bf); | ||
2106 | if (event->name == NULL) | ||
2107 | return -1; | ||
2108 | |||
2109 | return 0; | ||
2110 | } | ||
2111 | |||
2112 | static int perf_evlist__set_tracepoint_names(struct perf_evlist *evlist) | ||
2113 | { | ||
2114 | struct perf_evsel *pos; | ||
2115 | |||
2116 | list_for_each_entry(pos, &evlist->entries, node) { | ||
2117 | if (pos->attr.type == PERF_TYPE_TRACEPOINT && | ||
2118 | perf_evsel__set_tracepoint_name(pos)) | ||
2119 | return -1; | ||
2120 | } | ||
2121 | |||
2122 | return 0; | ||
2123 | } | ||
2124 | |||
2096 | int perf_session__read_header(struct perf_session *session, int fd) | 2125 | int perf_session__read_header(struct perf_session *session, int fd) |
2097 | { | 2126 | { |
2098 | struct perf_header *header = &session->header; | 2127 | struct perf_header *header = &session->header; |
@@ -2174,6 +2203,9 @@ int perf_session__read_header(struct perf_session *session, int fd) | |||
2174 | 2203 | ||
2175 | lseek(fd, header->data_offset, SEEK_SET); | 2204 | lseek(fd, header->data_offset, SEEK_SET); |
2176 | 2205 | ||
2206 | if (perf_evlist__set_tracepoint_names(session->evlist)) | ||
2207 | goto out_delete_evlist; | ||
2208 | |||
2177 | header->frozen = 1; | 2209 | header->frozen = 1; |
2178 | return 0; | 2210 | return 0; |
2179 | out_errno: | 2211 | out_errno: |