Commit-ID:  97db62062ac76e314c8bda4dc5b63f0ea906d15f
Gitweb:     http://git.kernel.org/tip/97db62062ac76e314c8bda4dc5b63f0ea906d15f
Author:     Adrian Hunter <adrian.hun...@intel.com>
AuthorDate: Mon, 31 Aug 2015 21:39:44 +0300
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Mon, 31 Aug 2015 15:47:33 -0300

perf tools: Fix build on powerpc broken by pt/bts

It is theoretically possible to process perf.data files created on x86
and that contain Intel PT or Intel BTS data, on any other architecture,
which is why it is possible for there to be build errors on powerpc
caused by pt/bts.

The errors were:

        util/intel-pt-decoder/intel-pt-insn-decoder.c: In function 
‘intel_pt_insn_decoder’:
        util/intel-pt-decoder/intel-pt-insn-decoder.c:138:3: error: switch 
missing default case [-Werror=switch-default]
           switch (insn->immediate.nbytes) {
           ^
        cc1: all warnings being treated as errors

        linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function 
`intel_pt_synth_branch_sample':
        sources/linux-acme.git/tools/perf/util/intel-pt.c:871: undefined 
reference to `tsc_to_perf_time'
        linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function 
`intel_pt_sample':
        sources/linux-acme.git/tools/perf/util/intel-pt.c:915: undefined 
reference to `tsc_to_perf_time'
        sources/linux-acme.git/tools/perf/util/intel-pt.c:962: undefined 
reference to `tsc_to_perf_time'
        linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function 
`intel_pt_process_event':
        sources/linux-acme.git/tools/perf/util/intel-pt.c:1454: undefined 
reference to `perf_time_to_tsc'

Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
Cc: Jiri Olsa <jo...@redhat.com>
Cc: Sukadev Bhattiprolu <suka...@linux.vnet.ibm.com>
Cc: Wang Nan <wangn...@huawei.com>
Cc: Zefan Li <lize...@huawei.com>
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1441046384-28663-1-git-send-email-adrian.hun...@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/util/Build                                    | 1 +
 tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index e912856..e79e452 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -75,6 +75,7 @@ libperf-y += record.o
 libperf-y += srcline.o
 libperf-y += data.o
 libperf-$(CONFIG_X86) += tsc.o
+libperf-$(CONFIG_AUXTRACE) += tsc.o
 libperf-y += cloexec.o
 libperf-y += thread-stack.o
 libperf-$(CONFIG_AUXTRACE) += auxtrace.o
diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c 
b/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c
index 9e4eb8f..d23138c 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c
@@ -146,6 +146,9 @@ static void intel_pt_insn_decoder(struct insn *insn,
                case 4:
                        intel_pt_insn->rel = bswap_32(insn->immediate.value);
                        break;
+               default:
+                       intel_pt_insn->rel = 0;
+                       break;
                }
 #else
                intel_pt_insn->rel = insn->immediate.value;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to