|
@@ -517,7 +517,7 @@ static int perf_session__check_output_opt(struct perf_session *session)
|
|
|
|
|
|
evlist__for_each_entry(session->evlist, evsel) {
|
|
|
not_pipe = true;
|
|
|
- if (evsel->attr.sample_type & PERF_SAMPLE_CALLCHAIN) {
|
|
|
+ if (evsel__has_callchain(evsel)) {
|
|
|
use_callchain = true;
|
|
|
break;
|
|
|
}
|
|
@@ -532,22 +532,18 @@ static int perf_session__check_output_opt(struct perf_session *session)
|
|
|
*/
|
|
|
if (symbol_conf.use_callchain &&
|
|
|
!output[PERF_TYPE_TRACEPOINT].user_set) {
|
|
|
- struct perf_event_attr *attr;
|
|
|
-
|
|
|
j = PERF_TYPE_TRACEPOINT;
|
|
|
|
|
|
evlist__for_each_entry(session->evlist, evsel) {
|
|
|
if (evsel->attr.type != j)
|
|
|
continue;
|
|
|
|
|
|
- attr = &evsel->attr;
|
|
|
-
|
|
|
- if (attr->sample_type & PERF_SAMPLE_CALLCHAIN) {
|
|
|
+ if (evsel__has_callchain(evsel)) {
|
|
|
output[j].fields |= PERF_OUTPUT_IP;
|
|
|
output[j].fields |= PERF_OUTPUT_SYM;
|
|
|
output[j].fields |= PERF_OUTPUT_SYMOFFSET;
|
|
|
output[j].fields |= PERF_OUTPUT_DSO;
|
|
|
- set_print_ip_opts(attr);
|
|
|
+ set_print_ip_opts(&evsel->attr);
|
|
|
goto out;
|
|
|
}
|
|
|
}
|