aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-script.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/builtin-script.c')
-rw-r--r--tools/perf/builtin-script.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index e3ce2f34d3ad..46011235af5d 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -339,7 +339,7 @@ static void set_print_ip_opts(struct perf_event_attr *attr)
339 */ 339 */
340static int perf_session__check_output_opt(struct perf_session *session) 340static int perf_session__check_output_opt(struct perf_session *session)
341{ 341{
342 int j; 342 unsigned int j;
343 struct perf_evsel *evsel; 343 struct perf_evsel *evsel;
344 344
345 for (j = 0; j < PERF_TYPE_MAX; ++j) { 345 for (j = 0; j < PERF_TYPE_MAX; ++j) {
@@ -388,17 +388,20 @@ static int perf_session__check_output_opt(struct perf_session *session)
388 struct perf_event_attr *attr; 388 struct perf_event_attr *attr;
389 389
390 j = PERF_TYPE_TRACEPOINT; 390 j = PERF_TYPE_TRACEPOINT;
391 evsel = perf_session__find_first_evtype(session, j);
392 if (evsel == NULL)
393 goto out;
394 391
395 attr = &evsel->attr; 392 evlist__for_each(session->evlist, evsel) {
393 if (evsel->attr.type != j)
394 continue;
395
396 attr = &evsel->attr;
396 397
397 if (attr->sample_type & PERF_SAMPLE_CALLCHAIN) { 398 if (attr->sample_type & PERF_SAMPLE_CALLCHAIN) {
398 output[j].fields |= PERF_OUTPUT_IP; 399 output[j].fields |= PERF_OUTPUT_IP;
399 output[j].fields |= PERF_OUTPUT_SYM; 400 output[j].fields |= PERF_OUTPUT_SYM;
400 output[j].fields |= PERF_OUTPUT_DSO; 401 output[j].fields |= PERF_OUTPUT_DSO;
401 set_print_ip_opts(attr); 402 set_print_ip_opts(attr);
403 goto out;
404 }
402 } 405 }
403 } 406 }
404 407