public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] perf: does not compile on ARM because of Intel PT code
@ 2015-09-01  8:26 Stephane Eranian
  2015-09-01  8:26 ` Adrian Hunter
  2015-09-01  8:30 ` Ingo Molnar
  0 siblings, 2 replies; 8+ messages in thread
From: Stephane Eranian @ 2015-09-01  8:26 UTC (permalink / raw)
  To: LKML
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Peter Zijlstra,
	mingo@elte.hu, Namhyung Kim, Adrian Hunter

Hi,

If you compile tip.git on ARM32 (or ARM64, I bet) you compile link time errors:

libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:899: undefined
reference to `tsc_to_perf_time'
libperf.a(libperf-in.o): In function `intel_pt_synth_transaction_sample':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:992: undefined
reference to `tsc_to_perf_time'
libperf.a(libperf-in.o): In function `intel_pt_synth_instruction_sample':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:943: undefined
reference to `tsc_to_perf_time'
libperf.a(libperf-in.o): In function `intel_pt_process_event':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1484: undefined
reference to `perf_time_to_tsc'
libperf.a(libperf-in.o): In function `intel_pt_process_itrace_start':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1455: undefined
reference to `perf_time_to_tsc'
libperf.a(libperf-in.o): In function `intel_pt_process_switch':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1405: undefined
reference to `perf_time_to_tsc'
/home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1427: undefined
reference to `perf_time_to_tsc'
libperf.a(libperf-in.o): In function `intel_bts_process_event':
/home/ubuntu/perfmon/linux/tools/perf/util/intel-bts.c:614: undefined
reference to `perf_time_to_tsc'

That's because if AUXTRACE is detected, it pulls in x86 specific stuff
like intel-pt. This should
be decoupled.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:26 [BUG] perf: does not compile on ARM because of Intel PT code Stephane Eranian
@ 2015-09-01  8:26 ` Adrian Hunter
  2015-09-01  8:29   ` Stephane Eranian
  2015-09-01  8:30 ` Ingo Molnar
  1 sibling, 1 reply; 8+ messages in thread
From: Adrian Hunter @ 2015-09-01  8:26 UTC (permalink / raw)
  To: Stephane Eranian, LKML
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Peter Zijlstra,
	mingo@elte.hu, Namhyung Kim

On 01/09/15 11:26, Stephane Eranian wrote:
> Hi,
> 
> If you compile tip.git on ARM32 (or ARM64, I bet) you compile link time errors:
> 
> libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:899: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_synth_transaction_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:992: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_synth_instruction_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:943: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_process_event':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1484: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_pt_process_itrace_start':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1455: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_pt_process_switch':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1405: undefined
> reference to `perf_time_to_tsc'
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1427: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_bts_process_event':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-bts.c:614: undefined
> reference to `perf_time_to_tsc'
> 
> That's because if AUXTRACE is detected, it pulls in x86 specific stuff
> like intel-pt. This should
> be decoupled.

Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
build on powerpc broken by pt/bts"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:26 ` Adrian Hunter
@ 2015-09-01  8:29   ` Stephane Eranian
  2015-09-01  8:42     ` Ingo Molnar
  0 siblings, 1 reply; 8+ messages in thread
From: Stephane Eranian @ 2015-09-01  8:29 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: LKML, Arnaldo Carvalho de Melo, Jiri Olsa, Peter Zijlstra,
	mingo@elte.hu, Namhyung Kim

On Tue, Sep 1, 2015 at 1:26 AM, Adrian Hunter <adrian.hunter@intel.com> wrote:
> On 01/09/15 11:26, Stephane Eranian wrote:
>> Hi,
>>
>> If you compile tip.git on ARM32 (or ARM64, I bet) you compile link time errors:
>>
>> libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:899: undefined
>> reference to `tsc_to_perf_time'
>> libperf.a(libperf-in.o): In function `intel_pt_synth_transaction_sample':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:992: undefined
>> reference to `tsc_to_perf_time'
>> libperf.a(libperf-in.o): In function `intel_pt_synth_instruction_sample':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:943: undefined
>> reference to `tsc_to_perf_time'
>> libperf.a(libperf-in.o): In function `intel_pt_process_event':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1484: undefined
>> reference to `perf_time_to_tsc'
>> libperf.a(libperf-in.o): In function `intel_pt_process_itrace_start':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1455: undefined
>> reference to `perf_time_to_tsc'
>> libperf.a(libperf-in.o): In function `intel_pt_process_switch':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1405: undefined
>> reference to `perf_time_to_tsc'
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1427: undefined
>> reference to `perf_time_to_tsc'
>> libperf.a(libperf-in.o): In function `intel_bts_process_event':
>> /home/ubuntu/perfmon/linux/tools/perf/util/intel-bts.c:614: undefined
>> reference to `perf_time_to_tsc'
>>
>> That's because if AUXTRACE is detected, it pulls in x86 specific stuff
>> like intel-pt. This should
>> be decoupled.
>
> Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
> build on powerpc broken by pt/bts"
>
Ok, good. I was testing on Linus' tree not tip.git.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:26 [BUG] perf: does not compile on ARM because of Intel PT code Stephane Eranian
  2015-09-01  8:26 ` Adrian Hunter
@ 2015-09-01  8:30 ` Ingo Molnar
  1 sibling, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2015-09-01  8:30 UTC (permalink / raw)
  To: Stephane Eranian
  Cc: LKML, Arnaldo Carvalho de Melo, Jiri Olsa, Peter Zijlstra,
	mingo@elte.hu, Namhyung Kim, Adrian Hunter


* Stephane Eranian <eranian@google.com> wrote:

> Hi,
> 
> If you compile tip.git on ARM32 (or ARM64, I bet) you compile link time errors:
> 
> libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:899: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_synth_transaction_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:992: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_synth_instruction_sample':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:943: undefined
> reference to `tsc_to_perf_time'
> libperf.a(libperf-in.o): In function `intel_pt_process_event':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1484: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_pt_process_itrace_start':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1455: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_pt_process_switch':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1405: undefined
> reference to `perf_time_to_tsc'
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-pt.c:1427: undefined
> reference to `perf_time_to_tsc'
> libperf.a(libperf-in.o): In function `intel_bts_process_event':
> /home/ubuntu/perfmon/linux/tools/perf/util/intel-bts.c:614: undefined
> reference to `perf_time_to_tsc'
> 
> That's because if AUXTRACE is detected, it pulls in x86 specific stuff
> like intel-pt. This should
> be decoupled.

Could you double check the latest tip:perf/urgent or tip:master whether this is 
properly fixed by:

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

?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:29   ` Stephane Eranian
@ 2015-09-01  8:42     ` Ingo Molnar
  2015-09-01  8:44       ` Stephane Eranian
  0 siblings, 1 reply; 8+ messages in thread
From: Ingo Molnar @ 2015-09-01  8:42 UTC (permalink / raw)
  To: Stephane Eranian
  Cc: Adrian Hunter, LKML, Arnaldo Carvalho de Melo, Jiri Olsa,
	Peter Zijlstra, mingo@elte.hu, Namhyung Kim


* Stephane Eranian <eranian@google.com> wrote:

> > Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
> > build on powerpc broken by pt/bts"
> >
> Ok, good. I was testing on Linus' tree not tip.git.

So that commit was tested on powerpc it appears - mind double checking the ARM 
build to make sure it's all good?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:42     ` Ingo Molnar
@ 2015-09-01  8:44       ` Stephane Eranian
  2015-09-01  8:51         ` Stephane Eranian
  2015-09-01  8:57         ` Ingo Molnar
  0 siblings, 2 replies; 8+ messages in thread
From: Stephane Eranian @ 2015-09-01  8:44 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Adrian Hunter, LKML, Arnaldo Carvalho de Melo, Jiri Olsa,
	Peter Zijlstra, mingo@elte.hu, Namhyung Kim

On Tue, Sep 1, 2015 at 1:42 AM, Ingo Molnar <mingo@kernel.org> wrote:
>
> * Stephane Eranian <eranian@google.com> wrote:
>
>> > Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
>> > build on powerpc broken by pt/bts"
>> >
>> Ok, good. I was testing on Linus' tree not tip.git.
>
> So that commit was tested on powerpc it appears - mind double checking the ARM
> build to make sure it's all good?
>
Compiles clean on my ARM32 at commit:
4c09e0d Merge tag 'perf-urgent-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into
perf/urgent

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:44       ` Stephane Eranian
@ 2015-09-01  8:51         ` Stephane Eranian
  2015-09-01  8:57         ` Ingo Molnar
  1 sibling, 0 replies; 8+ messages in thread
From: Stephane Eranian @ 2015-09-01  8:51 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Adrian Hunter, LKML, Arnaldo Carvalho de Melo, Jiri Olsa,
	Peter Zijlstra, mingo@elte.hu, Namhyung Kim

On Tue, Sep 1, 2015 at 1:44 AM, Stephane Eranian <eranian@google.com> wrote:
> On Tue, Sep 1, 2015 at 1:42 AM, Ingo Molnar <mingo@kernel.org> wrote:
>>
>> * Stephane Eranian <eranian@google.com> wrote:
>>
>>> > Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
>>> > build on powerpc broken by pt/bts"
>>> >
>>> Ok, good. I was testing on Linus' tree not tip.git.
>>
>> So that commit was tested on powerpc it appears - mind double checking the ARM
>> build to make sure it's all good?
>>
> Compiles clean on my ARM32 at commit:
> 4c09e0d Merge tag 'perf-urgent-for-mingo' of
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into
> perf/urgent

But does not compile on ARM32 at:
bcc84ec perf record: Add ability to name registers to record

I will send a patch shortly to fix this one.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] perf: does not compile on ARM because of Intel PT code
  2015-09-01  8:44       ` Stephane Eranian
  2015-09-01  8:51         ` Stephane Eranian
@ 2015-09-01  8:57         ` Ingo Molnar
  1 sibling, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2015-09-01  8:57 UTC (permalink / raw)
  To: Stephane Eranian
  Cc: Adrian Hunter, LKML, Arnaldo Carvalho de Melo, Jiri Olsa,
	Peter Zijlstra, mingo@elte.hu, Namhyung Kim


* Stephane Eranian <eranian@google.com> wrote:

> On Tue, Sep 1, 2015 at 1:42 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > * Stephane Eranian <eranian@google.com> wrote:
> >
> >> > Ingo just pulled the fix for that a moment ago.  Look for "perf tools: Fix
> >> > build on powerpc broken by pt/bts"
> >> >
> >> Ok, good. I was testing on Linus' tree not tip.git.
> >
> > So that commit was tested on powerpc it appears - mind double checking the ARM
> > build to make sure it's all good?
> >
> Compiles clean on my ARM32 at commit:
> 4c09e0d Merge tag 'perf-urgent-for-mingo' of
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into
> perf/urgent

Ok, great - will get the fixes to Linus later today.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-09-01  8:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-01  8:26 [BUG] perf: does not compile on ARM because of Intel PT code Stephane Eranian
2015-09-01  8:26 ` Adrian Hunter
2015-09-01  8:29   ` Stephane Eranian
2015-09-01  8:42     ` Ingo Molnar
2015-09-01  8:44       ` Stephane Eranian
2015-09-01  8:51         ` Stephane Eranian
2015-09-01  8:57         ` Ingo Molnar
2015-09-01  8:30 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox