aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/header.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/header.c')
-rw-r--r--tools/perf/util/header.c19
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
2122int perf_event__process_attr(union perf_event *event, 2122int 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