diff options
Diffstat (limited to 'tools/perf/util/header.c')
-rw-r--r-- | tools/perf/util/header.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 41424a16be8..1fa97dd2120 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
@@ -2120,23 +2120,23 @@ int perf_session__synthesize_attrs(struct perf_session *session, | |||
2120 | } | 2120 | } |
2121 | 2121 | ||
2122 | int perf_event__process_attr(union perf_event *event, | 2122 | int perf_event__process_attr(union perf_event *event, |
2123 | struct perf_session *session) | 2123 | struct perf_evlist **pevlist) |
2124 | { | 2124 | { |
2125 | unsigned int i, ids, n_ids; | 2125 | unsigned int i, ids, n_ids; |
2126 | struct perf_evsel *evsel; | 2126 | struct perf_evsel *evsel; |
2127 | struct perf_evlist *evlist = *pevlist; | ||
2127 | 2128 | ||
2128 | if (session->evlist == NULL) { | 2129 | if (evlist == NULL) { |
2129 | session->evlist = perf_evlist__new(NULL, NULL); | 2130 | *pevlist = evlist = perf_evlist__new(NULL, NULL); |
2130 | if (session->evlist == NULL) | 2131 | if (evlist == NULL) |
2131 | return -ENOMEM; | 2132 | return -ENOMEM; |
2132 | } | 2133 | } |
2133 | 2134 | ||
2134 | evsel = perf_evsel__new(&event->attr.attr, | 2135 | evsel = perf_evsel__new(&event->attr.attr, evlist->nr_entries); |
2135 | session->evlist->nr_entries); | ||
2136 | if (evsel == NULL) | 2136 | if (evsel == NULL) |
2137 | return -ENOMEM; | 2137 | return -ENOMEM; |
2138 | 2138 | ||
2139 | perf_evlist__add(session->evlist, evsel); | 2139 | perf_evlist__add(evlist, evsel); |
2140 | 2140 | ||
2141 | ids = event->header.size; | 2141 | ids = event->header.size; |
2142 | ids -= (void *)&event->attr.id - (void *)event; | 2142 | ids -= (void *)&event->attr.id - (void *)event; |
@@ -2150,12 +2150,9 @@ int perf_event__process_attr(union perf_event *event, | |||
2150 | return -ENOMEM; | 2150 | return -ENOMEM; |
2151 | 2151 | ||
2152 | for (i = 0; i < n_ids; i++) { | 2152 | for (i = 0; i < n_ids; i++) { |
2153 | perf_evlist__id_add(session->evlist, evsel, 0, i, | 2153 | perf_evlist__id_add(evlist, evsel, 0, i, event->attr.id[i]); |
2154 | event->attr.id[i]); | ||
2155 | } | 2154 | } |
2156 | 2155 | ||
2157 | perf_session__update_sample_type(session); | ||
2158 | |||
2159 | return 0; | 2156 | return 0; |
2160 | } | 2157 | } |
2161 | 2158 | ||