Re: Build failure due to Intel PT

From: Arnaldo Carvalho de Melo
Date: Tue Aug 25 2015 - 07:35:54 EST


Em Tue, Aug 25, 2015 at 10:20:00AM +0300, Adrian Hunter escreveu:
> On 24/08/15 23:04, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Aug 24, 2015 at 11:51:31AM -0700, Sukadev Bhattiprolu escreveu:
> >> I am trying to build perf tool on Powerpc and get this:

> >> 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

> >> Besides adding a 'default' case, can this file be skipped when building on
> >> non-x86 architectures?

> > Not sure, what about processing a perf.data file generated on a x86
> > system using a PowerPC workstation?

> > Adrian, I am assuming this is only used when postprocessing, is that
> > right?

> Yes. I think it is good design to allow perf.data files from any
> architecture to be processed on any other architecture. Nevertheless,
> specific features can be configured out as desired. For example,
> in this case, the option NO_AUXTRACE would work e.g.

> make NO_AUXTRACE=1 CROSS_COMPILE=powerpc-linux-gnu- ARCH=powerpc -C tools/perf

> works for me.

> So I will make a fix for the problems and send it in a moment.

> Also, I must point point out that while I missed the 'default case' error,
> the link errors are not entirely my fault, but were also a result of:

> commit ecefde629fadd3fcca2ea4c6a799d6e6aab8781f
> Date: Thu Feb 19 13:22:33 2015 -0500
>
> perf tools: Only include tsc file for x86
>
> The perf_time_to_tsc and tsc_to_perf_time functions are only used for x86.
>
> Make inclusion of tsc.c dependent on x86 as well.
>
> So it seems that people really don't want to support other architectures
> by default. That would mean, for example, defaulting to NO_AUXTRACE=1

> for non-x86. I will make a patch for that, and Arnaldo can decide.

Humm, misunderstandings happen, so if that thing needs to be reverted,
we should do it, and fix the problem to keep the property of being able
to 'perf report' any perf.data file, even the ones that were generated
on another arch.

And detect if there are cross compilers installed and add those to the
'make -C tools/perf build-perf'.

I just installed gcc-powerpc64-linux-gnu, will try to use that with
build-perf.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/