perf inject: Set branch stack feature flag when synthesizing branch stacks
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 25 Sep 2015 13:15:43 +0000 (16:15 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 28 Sep 2015 19:57:59 +0000 (16:57 -0300)
The branch stack feature flag is set by 'perf record' when recording
data that contains branch stacks.  Consequently, when 'perf inject'
synthesizes branch stacks, the feature flag should be set also.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1443186956-18718-13-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-inject.c

index f62c49b35be04ec698fc51e2b73ded6bb9dfbccf..8638fad8a085980c920db6ddbea68509f29c2585 100644 (file)
@@ -537,9 +537,13 @@ static int __cmd_inject(struct perf_inject *inject)
                 * The AUX areas have been removed and replaced with
                 * synthesized hardware events, so clear the feature flag.
                 */
-               if (inject->itrace_synth_opts.set)
+               if (inject->itrace_synth_opts.set) {
                        perf_header__clear_feat(&session->header,
                                                HEADER_AUXTRACE);
+                       if (inject->itrace_synth_opts.last_branch)
+                               perf_header__set_feat(&session->header,
+                                                     HEADER_BRANCH_STACK);
+               }
                session->header.data_offset = output_data_offset;
                session->header.data_size = inject->bytes_written;
                perf_session__write_header(session, session->evlist, fd, true);