Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1212429 > unrolled thread

Build failure due to Intel PT

Started bySukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
First post2015-08-24 21:00 +0200
Last post2015-08-25 16:30 +0200
Articles 7 — 3 participants

Back to article view | Back to linux.kernel


Contents

  Build failure due to Intel PT Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> - 2015-08-24 21:00 +0200
    Re: Build failure due to Intel PT Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-24 22:10 +0200
      Re: Build failure due to Intel PT Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> - 2015-08-24 22:50 +0200
      Re: Build failure due to Intel PT Adrian Hunter <adrian.hunter@intel.com> - 2015-08-25 09:30 +0200
        Re: Build failure due to Intel PT Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 13:40 +0200
          Re: Build failure due to Intel PT Adrian Hunter <adrian.hunter@intel.com> - 2015-08-25 13:50 +0200
            Re: Build failure due to Intel PT Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 16:30 +0200

#1212429 — Build failure due to Intel PT

FromSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Date2015-08-24 21:00 +0200
SubjectBuild failure due to Intel PT
Message-ID<q158n-7Qs-33@gated-at.bofh.it>
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?

I am on the perf/core branch, with HEAD pointing to:

	commit c0b4dffbc529244d3e4e3bd392f2bffa2d8531a7
	Author: Arnaldo Carvalho de Melo <acme@redhat.com>
	Date:   Mon Aug 24 13:33:14 2015 -0300

	perf annotate: Reset the dso find_symbol cache when removing symbols

Sukadev

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

[toc] | [next] | [standalone]


#1212468

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-24 22:10 +0200
Message-ID<q16e6-1hz-23@gated-at.bofh.it>
In reply to#1212429
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?

- Arnaldo
 
> I am on the perf/core branch, with HEAD pointing to:
> 
> 	commit c0b4dffbc529244d3e4e3bd392f2bffa2d8531a7
> 	Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> 	Date:   Mon Aug 24 13:33:14 2015 -0300
> 
> 	perf annotate: Reset the dso find_symbol cache when removing symbols
> 
> Sukadev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1212495

FromSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Date2015-08-24 22:50 +0200
Message-ID<q16QO-223-13@gated-at.bofh.it>
In reply to#1212468
Arnaldo Carvalho de Melo [acme@kernel.org] wrote:
| 
| > 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?

I am not sure either. Is that well supported?

Anyway, I tried to build with WERROR=0 and get link errors like:

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'

...

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

[toc] | [prev] | [next] | [standalone]


#1212750

FromAdrian Hunter <adrian.hunter@intel.com>
Date2015-08-25 09:30 +0200
Message-ID<q1gQ9-86J-1@gated-at.bofh.it>
In reply to#1212468
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.

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

[toc] | [prev] | [next] | [standalone]


#1212976

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-25 13:40 +0200
Message-ID<q1kK7-5cL-15@gated-at.bofh.it>
In reply to#1212750
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1212983

FromAdrian Hunter <adrian.hunter@intel.com>
Date2015-08-25 13:50 +0200
Message-ID<q1kTL-5od-3@gated-at.bofh.it>
In reply to#1212976
On 25/08/15 14:35, Arnaldo Carvalho de Melo wrote:
> 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.

Just in case you didn't see them, note that I sent fixes:

[PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts
[PATCH 2/2] perf tools: Make NO_AUXTRACE default for non-x86 architectures

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

[toc] | [prev] | [next] | [standalone]


#1213082

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-25 16:30 +0200
Message-ID<q1noC-D2-31@gated-at.bofh.it>
In reply to#1212983
Em Tue, Aug 25, 2015 at 02:41:57PM +0300, Adrian Hunter escreveu:
> On 25/08/15 14:35, Arnaldo Carvalho de Melo wrote:
> > 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.
> 
> Just in case you didn't see them, note that I sent fixes:

I saw both, I think 1/2 should be applied, but not the other one, i.e.
we should default to building a binary that is capable of processing any
perf.data file.

- Arnaldo
 
> [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts
> [PATCH 2/2] perf tools: Make NO_AUXTRACE default for non-x86 architectures
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web