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


Groups > linux.kernel > #1216670 > unrolled thread

[BUG] perf: does not compile on ARM because of Intel PT code

Started byStephane Eranian <eranian@google.com>
First post2015-09-01 10:30 +0200
Last post2015-09-01 10:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [BUG] perf: does not compile on ARM because of Intel PT code Stephane Eranian <eranian@google.com> - 2015-09-01 10:30 +0200
    Re: [BUG] perf: does not compile on ARM because of Intel PT code Adrian Hunter <adrian.hunter@intel.com> - 2015-09-01 10:30 +0200
    Re: [BUG] perf: does not compile on ARM because of Intel PT code Ingo Molnar <mingo@kernel.org> - 2015-09-01 10:40 +0200

#1216670 — [BUG] perf: does not compile on ARM because of Intel PT code

FromStephane Eranian <eranian@google.com>
Date2015-09-01 10:30 +0200
Subject[BUG] perf: does not compile on ARM because of Intel PT code
Message-ID<q3P74-160-5@gated-at.bofh.it>
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.
--
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]


#1216671

FromAdrian Hunter <adrian.hunter@intel.com>
Date2015-09-01 10:30 +0200
Message-ID<q3P74-160-7@gated-at.bofh.it>
In reply to#1216670
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"

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


#1216677

FromIngo Molnar <mingo@kernel.org>
Date2015-09-01 10:40 +0200
Message-ID<q3PgK-1hp-9@gated-at.bofh.it>
In reply to#1216670
* 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
--
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