Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1212948 > unrolled thread
| Started by | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| First post | 2015-08-25 12:50 +0200 |
| Last post | 2015-09-01 10:40 +0200 |
| Articles | 14 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Adrian Hunter <adrian.hunter@intel.com> - 2015-08-25 12:50 +0200
[PATCH 2/2] perf tools: Make NO_AUXTRACE default for non-x86 architectures Adrian Hunter <adrian.hunter@intel.com> - 2015-08-25 12:50 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 17:40 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Adrian Hunter <adrian.hunter@intel.com> - 2015-08-26 09:10 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Jiri Olsa <jolsa@redhat.com> - 2015-08-26 09:30 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Adrian Hunter <adrian.hunter@intel.com> - 2015-08-26 09:40 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Jiri Olsa <jolsa@redhat.com> - 2015-08-26 10:10 +0200
[PATCH] tools build: Allow duplicate objects in the object list Jiri Olsa <jolsa@redhat.com> - 2015-08-26 15:10 +0200
[tip:perf/core] tools build: Allow duplicate objects in the object list tip-bot for Jiri Olsa <tipbot@zytor.com> - 2015-08-28 08:50 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 15:10 +0200
[tip:perf/core] perf tools: Remove export.h from MANIFEST tip-bot for Jiri Olsa <tipbot@zytor.com> - 2015-08-28 08:50 +0200
Re: [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts Jiri Olsa <jolsa@redhat.com> - 2015-08-26 09:10 +0200
[PATCH V2] perf tools: Fix build on powerpc broken by pt/bts Adrian Hunter <adrian.hunter@intel.com> - 2015-08-31 20:50 +0200
[tip:perf/urgent] perf tools: Fix build on powerpc broken by pt/ bts tip-bot for Adrian Hunter <tipbot@zytor.com> - 2015-09-01 10:40 +0200
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2015-08-25 12:50 +0200 |
| Subject | [PATCH 1/2] perf tools: Fix build on powerpc broken by pt/bts |
| Message-ID | <q1jXI-43u-17@gated-at.bofh.it> |
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.hunter@intel.com>
---
tools/perf/util/Build | 2 +-
tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index e912856cc4e5..8ae31e5131ee 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
libperf-y += record.o
libperf-y += srcline.o
libperf-y += data.o
-libperf-$(CONFIG_X86) += tsc.o
+libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += 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 9e4eb8fcd559..d23138c06665 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;
--
1.9.1
--
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]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2015-08-25 12:50 +0200 |
| Subject | [PATCH 2/2] perf tools: Make NO_AUXTRACE default for non-x86 architectures |
| Message-ID | <q1jXI-43u-15@gated-at.bofh.it> |
| In reply to | #1212948 |
Currently the AUXTRACE infrastructure is only used by Intel PT and Intel BTS but is compiled into all architectures to support the ability to process a perf.data file (including one containing Intel PT or Intel BTS data) from any architecture on any other architecture. Generally people don't want that ability with respect to AUXTRACE by default. Make the build option NO_AUXTRACE the default for non-x86 architectures. To build with AUXTRACE on those architectures use NO_AUXTRACE=0. The build-test is updated accordingly. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- tools/perf/config/Makefile | 8 ++++++++ tools/perf/tests/make | 2 ++ 2 files changed, 10 insertions(+) diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 827557fc7511..ddc3b64fdad2 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -621,6 +621,14 @@ ifdef LIBBABELTRACE endif ifndef NO_AUXTRACE + ifneq ($(ARCH),x86) + NO_AUXTRACE := 1 + else + NO_AUXTRACE := 0 + endif +endif + +ifeq ($(NO_AUXTRACE), 0) $(call detected,CONFIG_AUXTRACE) CFLAGS += -DHAVE_AUXTRACE_SUPPORT endif diff --git a/tools/perf/tests/make b/tools/perf/tests/make index ba31c4bd441d..977ded210de2 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -44,6 +44,7 @@ make_no_libnuma := NO_LIBNUMA=1 make_no_libaudit := NO_LIBAUDIT=1 make_no_libbionic := NO_LIBBIONIC=1 make_no_auxtrace := NO_AUXTRACE=1 +make_auxtrace := NO_AUXTRACE=0 make_tags := tags make_cscope := cscope make_help := help @@ -94,6 +95,7 @@ run += make_no_libnuma run += make_no_libaudit run += make_no_libbionic run += make_no_auxtrace +run += make_auxtrace run += make_help run += make_doc run += make_perf_o -- 1.9.1 -- 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]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-08-25 17:40 +0200 |
| Message-ID | <q1oun-2cl-53@gated-at.bofh.it> |
| In reply to | #1212948 |
Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
> 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.hunter@intel.com>
> ---
> tools/perf/util/Build | 2 +-
> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> index e912856cc4e5..8ae31e5131ee 100644
> --- a/tools/perf/util/Build
> +++ b/tools/perf/util/Build
> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
> libperf-y += record.o
> libperf-y += srcline.o
> libperf-y += data.o
> -libperf-$(CONFIG_X86) += tsc.o
> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
I think this is preferred/more clear:
libperf-$(CONFIG_X86) += tsc.o
libperf-$(CONFIG_AUXTRACE) += tsc.o
As we have in drivers/Makefile, in the kernel sources:
drivers/Makefile:obj-$(CONFIG_PCI) += usb/
drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/
drivers/Makefile:obj-$(CONFIG_USB_PHY) += usb/
drivers/Makefile:obj-$(CONFIG_USB) += usb/
From Documentation/kbuild/makefiles.txt:
--- 3.2 Built-in object goals - obj-y
The kbuild Makefile specifies object files for vmlinux
in the $(obj-y) lists. These lists depend on the kernel
configuration.
Kbuild compiles all the $(obj-y) files. It then calls
"$(LD) -r" to merge these files into one built-in.o file.
built-in.o is later linked into vmlinux by the parent Makefile.
The order of files in $(obj-y) is significant. Duplicates in
the lists are allowed: the first instance will be linked into
built-in.o and succeeding instances will be ignored.
------------------------
Jiri?
- Arnaldo
> 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 9e4eb8fcd559..d23138c06665 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;
> --
> 1.9.1
--
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]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2015-08-26 09:10 +0200 |
| Message-ID | <q1D0m-71b-21@gated-at.bofh.it> |
| In reply to | #1213122 |
On 25/08/15 18:30, Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
>> 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.hunter@intel.com>
>> ---
>> tools/perf/util/Build | 2 +-
>> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
>> 2 files changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
>> index e912856cc4e5..8ae31e5131ee 100644
>> --- a/tools/perf/util/Build
>> +++ b/tools/perf/util/Build
>> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
>> libperf-y += record.o
>> libperf-y += srcline.o
>> libperf-y += data.o
>> -libperf-$(CONFIG_X86) += tsc.o
>> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
>
> I think this is preferred/more clear:
>
> libperf-$(CONFIG_X86) += tsc.o
> libperf-$(CONFIG_AUXTRACE) += tsc.o
I tried that first but it doesn't work:
util/tsc.o: In function `perf_time_to_tsc':
/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: multiple definition of `perf_time_to_tsc'
util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: first defined here
util/tsc.o: In function `tsc_to_perf_time':
/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: multiple definition of `tsc_to_perf_time'
util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
make[3]: *** [util/libperf-in.o] Error 1
make[2]: *** [util] Error 2
make[1]: *** [libperf-in.o] Error 2
make: *** [all] Error 2
I will have a look at why, unless Jiri knows?
>
> As we have in drivers/Makefile, in the kernel sources:
>
> drivers/Makefile:obj-$(CONFIG_PCI) += usb/
> drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/
> drivers/Makefile:obj-$(CONFIG_USB_PHY) += usb/
> drivers/Makefile:obj-$(CONFIG_USB) += usb/
>
>>From Documentation/kbuild/makefiles.txt:
>
> --- 3.2 Built-in object goals - obj-y
>
> The kbuild Makefile specifies object files for vmlinux
> in the $(obj-y) lists. These lists depend on the kernel
> configuration.
>
> Kbuild compiles all the $(obj-y) files. It then calls
> "$(LD) -r" to merge these files into one built-in.o file.
> built-in.o is later linked into vmlinux by the parent Makefile.
>
> The order of files in $(obj-y) is significant. Duplicates in
> the lists are allowed: the first instance will be linked into
> built-in.o and succeeding instances will be ignored.
>
> ------------------------
>
> Jiri?
>
> - Arnaldo
>
>> 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 9e4eb8fcd559..d23138c06665 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;
>> --
>> 1.9.1
>
>
--
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]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-08-26 09:30 +0200 |
| Message-ID | <q1DjI-7nv-7@gated-at.bofh.it> |
| In reply to | #1213592 |
On Wed, Aug 26, 2015 at 09:57:13AM +0300, Adrian Hunter wrote:
> On 25/08/15 18:30, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
> >> 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.hunter@intel.com>
> >> ---
> >> tools/perf/util/Build | 2 +-
> >> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
> >> 2 files changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> >> index e912856cc4e5..8ae31e5131ee 100644
> >> --- a/tools/perf/util/Build
> >> +++ b/tools/perf/util/Build
> >> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
> >> libperf-y += record.o
> >> libperf-y += srcline.o
> >> libperf-y += data.o
> >> -libperf-$(CONFIG_X86) += tsc.o
> >> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
> >
> > I think this is preferred/more clear:
> >
> > libperf-$(CONFIG_X86) += tsc.o
> > libperf-$(CONFIG_AUXTRACE) += tsc.o
>
> I tried that first but it doesn't work:
>
> util/tsc.o: In function `perf_time_to_tsc':
> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: multiple definition of `perf_time_to_tsc'
> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: first defined here
> util/tsc.o: In function `tsc_to_perf_time':
> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: multiple definition of `tsc_to_perf_time'
> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
> make[3]: *** [util/libperf-in.o] Error 1
> make[2]: *** [util] Error 2
> make[1]: *** [libperf-in.o] Error 2
> make: *** [all] Error 2
>
> I will have a look at why, unless Jiri knows?
>
I'm now testing attached patch, does it fix it for you?
thanks,
jirka
---
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index 8120af9c0341..0c5f485521d6 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -63,7 +63,7 @@ quiet_cmd_gen = GEN $@
# If there's nothing to link, create empty $@ object.
quiet_cmd_ld_multi = LD $@
cmd_ld_multi = $(if $(strip $(obj-y)),\
- $(LD) -r -o $@ $(obj-y),rm -f $@; $(AR) rcs $@)
+ $(LD) -r -o $@ $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
# Build rules
$(OUTPUT)%.o: %.c FORCE
diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build
index 70d876237c57..429c7d452101 100644
--- a/tools/build/tests/ex/Build
+++ b/tools/build/tests/ex/Build
@@ -1,6 +1,7 @@
ex-y += ex.o
ex-y += a.o
ex-y += b.o
+ex-y += b.o
ex-y += empty/
ex-y += empty2/
--
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]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2015-08-26 09:40 +0200 |
| Message-ID | <q1Dto-7yC-15@gated-at.bofh.it> |
| In reply to | #1213603 |
On 26/08/15 10:25, Jiri Olsa wrote:
> On Wed, Aug 26, 2015 at 09:57:13AM +0300, Adrian Hunter wrote:
>> On 25/08/15 18:30, Arnaldo Carvalho de Melo wrote:
>>> Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
>>>> 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.hunter@intel.com>
>>>> ---
>>>> tools/perf/util/Build | 2 +-
>>>> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
>>>> 2 files changed, 4 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
>>>> index e912856cc4e5..8ae31e5131ee 100644
>>>> --- a/tools/perf/util/Build
>>>> +++ b/tools/perf/util/Build
>>>> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
>>>> libperf-y += record.o
>>>> libperf-y += srcline.o
>>>> libperf-y += data.o
>>>> -libperf-$(CONFIG_X86) += tsc.o
>>>> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
>>>
>>> I think this is preferred/more clear:
>>>
>>> libperf-$(CONFIG_X86) += tsc.o
>>> libperf-$(CONFIG_AUXTRACE) += tsc.o
>>
>> I tried that first but it doesn't work:
>>
>> util/tsc.o: In function `perf_time_to_tsc':
>> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: multiple definition of `perf_time_to_tsc'
>> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: first defined here
>> util/tsc.o: In function `tsc_to_perf_time':
>> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: multiple definition of `tsc_to_perf_time'
>> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
>> make[3]: *** [util/libperf-in.o] Error 1
>> make[2]: *** [util] Error 2
>> make[1]: *** [libperf-in.o] Error 2
>> make: *** [all] Error 2
>>
>> I will have a look at why, unless Jiri knows?
>>
>
> I'm now testing attached patch, does it fix it for you?
Yup! Thanks Jiri! :-)
>
> thanks,
> jirka
>
>
> ---
> diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
> index 8120af9c0341..0c5f485521d6 100644
> --- a/tools/build/Makefile.build
> +++ b/tools/build/Makefile.build
> @@ -63,7 +63,7 @@ quiet_cmd_gen = GEN $@
> # If there's nothing to link, create empty $@ object.
> quiet_cmd_ld_multi = LD $@
> cmd_ld_multi = $(if $(strip $(obj-y)),\
> - $(LD) -r -o $@ $(obj-y),rm -f $@; $(AR) rcs $@)
> + $(LD) -r -o $@ $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
>
> # Build rules
> $(OUTPUT)%.o: %.c FORCE
> diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build
> index 70d876237c57..429c7d452101 100644
> --- a/tools/build/tests/ex/Build
> +++ b/tools/build/tests/ex/Build
> @@ -1,6 +1,7 @@
> ex-y += ex.o
> ex-y += a.o
> ex-y += b.o
> +ex-y += b.o
> ex-y += empty/
> ex-y += empty2/
>
>
>
--
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]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-08-26 10:10 +0200 |
| Message-ID | <q1DWq-8lX-21@gated-at.bofh.it> |
| In reply to | #1213619 |
On Wed, Aug 26, 2015 at 10:27:09AM +0300, Adrian Hunter wrote:
> On 26/08/15 10:25, Jiri Olsa wrote:
> > On Wed, Aug 26, 2015 at 09:57:13AM +0300, Adrian Hunter wrote:
> >> On 25/08/15 18:30, Arnaldo Carvalho de Melo wrote:
> >>> Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
> >>>> 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.hunter@intel.com>
> >>>> ---
> >>>> tools/perf/util/Build | 2 +-
> >>>> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
> >>>> 2 files changed, 4 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> >>>> index e912856cc4e5..8ae31e5131ee 100644
> >>>> --- a/tools/perf/util/Build
> >>>> +++ b/tools/perf/util/Build
> >>>> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
> >>>> libperf-y += record.o
> >>>> libperf-y += srcline.o
> >>>> libperf-y += data.o
> >>>> -libperf-$(CONFIG_X86) += tsc.o
> >>>> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
> >>>
> >>> I think this is preferred/more clear:
> >>>
> >>> libperf-$(CONFIG_X86) += tsc.o
> >>> libperf-$(CONFIG_AUXTRACE) += tsc.o
> >>
> >> I tried that first but it doesn't work:
> >>
> >> util/tsc.o: In function `perf_time_to_tsc':
> >> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: multiple definition of `perf_time_to_tsc'
> >> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: first defined here
> >> util/tsc.o: In function `tsc_to_perf_time':
> >> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: multiple definition of `tsc_to_perf_time'
> >> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
> >> make[3]: *** [util/libperf-in.o] Error 1
> >> make[2]: *** [util] Error 2
> >> make[1]: *** [libperf-in.o] Error 2
> >> make: *** [all] Error 2
> >>
> >> I will have a look at why, unless Jiri knows?
> >>
> >
> > I'm now testing attached patch, does it fix it for you?
>
> Yup! Thanks Jiri! :-)
>
cool, I'll send it out soon..
Arnaldo,
the tarpkg test is failing on me because of removed export.h
not sure I missed attached update in your patch queue
jirka
---
diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
index d01a0aad5a01..4d16e8af18b7 100644
--- a/tools/perf/MANIFEST
+++ b/tools/perf/MANIFEST
@@ -40,7 +40,6 @@ tools/include/asm-generic/bitops.h
tools/include/linux/atomic.h
tools/include/linux/bitops.h
tools/include/linux/compiler.h
-tools/include/linux/export.h
tools/include/linux/hash.h
tools/include/linux/kernel.h
tools/include/linux/list.h
--
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]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-08-26 15:10 +0200 |
| Subject | [PATCH] tools build: Allow duplicate objects in the object list |
| Message-ID | <q1ICK-6BL-9@gated-at.bofh.it> |
| In reply to | #1213644 |
On Wed, Aug 26, 2015 at 10:07:50AM +0200, Jiri Olsa wrote:
SNIP
> > >> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
> > >> make[3]: *** [util/libperf-in.o] Error 1
> > >> make[2]: *** [util] Error 2
> > >> make[1]: *** [libperf-in.o] Error 2
> > >> make: *** [all] Error 2
> > >>
> > >> I will have a look at why, unless Jiri knows?
> > >>
> > >
> > > I'm now testing attached patch, does it fix it for you?
> >
> > Yup! Thanks Jiri! :-)
> >
>
> cool, I'll send it out soon..
---
It's sometimes useful to specify the object affiliation
to multiple config options like:
libperf-$(CONFIG_X86) += tsc.o
libperf-$(CONFIG_AUXTRACE) += tsc.o
while the object itself is linked only once. Adding the
support for this and ignoring duplicate objects in the
object list.
Suggested-by: Arnaldo Carvalho de Melo <acme@kernel.org>
Link: http://lkml.kernel.org/n/tip-ia1jyo9ktbqyc78ccs809j8w@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/build/Documentation/Build.txt | 1 +
tools/build/Makefile.build | 2 +-
tools/build/tests/ex/Build | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/build/Documentation/Build.txt b/tools/build/Documentation/Build.txt
index 00ad2d608727..aa5e092c4352 100644
--- a/tools/build/Documentation/Build.txt
+++ b/tools/build/Documentation/Build.txt
@@ -66,6 +66,7 @@ To follow the above example, the user provides following 'Build' files:
ex/Build:
ex-y += a.o
ex-y += b.o
+ ex-y += b.o # duplicates in the lists are allowed
libex-y += c.o
libex-y += d.o
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index 8120af9c0341..0c5f485521d6 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -63,7 +63,7 @@ quiet_cmd_gen = GEN $@
# If there's nothing to link, create empty $@ object.
quiet_cmd_ld_multi = LD $@
cmd_ld_multi = $(if $(strip $(obj-y)),\
- $(LD) -r -o $@ $(obj-y),rm -f $@; $(AR) rcs $@)
+ $(LD) -r -o $@ $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
# Build rules
$(OUTPUT)%.o: %.c FORCE
diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build
index 70d876237c57..429c7d452101 100644
--- a/tools/build/tests/ex/Build
+++ b/tools/build/tests/ex/Build
@@ -1,6 +1,7 @@
ex-y += ex.o
ex-y += a.o
ex-y += b.o
+ex-y += b.o
ex-y += empty/
ex-y += empty2/
--
2.4.3
--
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]
| From | tip-bot for Jiri Olsa <tipbot@zytor.com> |
|---|---|
| Date | 2015-08-28 08:50 +0200 |
| Subject | [tip:perf/core] tools build: Allow duplicate objects in the object list |
| Message-ID | <q2lE7-3R6-35@gated-at.bofh.it> |
| In reply to | #1213840 |
Commit-ID: 0bdede8a3e4ff7710622a2e6713d04b3243c24a8
Gitweb: http://git.kernel.org/tip/0bdede8a3e4ff7710622a2e6713d04b3243c24a8
Author: Jiri Olsa <jolsa@redhat.com>
AuthorDate: Wed, 26 Aug 2015 15:01:03 +0200
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 26 Aug 2015 10:34:58 -0300
tools build: Allow duplicate objects in the object list
It's sometimes useful to specify the object affiliation to multiple
config options like:
libperf-$(CONFIG_X86) += tsc.o
libperf-$(CONFIG_AUXTRACE) += tsc.o
while the object itself is linked only once. Adding the support for this
and ignoring duplicate objects in the object list.
Suggested-by: Arnaldo Carvalho de Melo <acme@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20150826130103.GF22670@krava.redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/build/Documentation/Build.txt | 1 +
tools/build/Makefile.build | 2 +-
tools/build/tests/ex/Build | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/build/Documentation/Build.txt b/tools/build/Documentation/Build.txt
index 00ad2d6..aa5e092 100644
--- a/tools/build/Documentation/Build.txt
+++ b/tools/build/Documentation/Build.txt
@@ -66,6 +66,7 @@ To follow the above example, the user provides following 'Build' files:
ex/Build:
ex-y += a.o
ex-y += b.o
+ ex-y += b.o # duplicates in the lists are allowed
libex-y += c.o
libex-y += d.o
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index 8120af9..0c5f485 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -63,7 +63,7 @@ quiet_cmd_gen = GEN $@
# If there's nothing to link, create empty $@ object.
quiet_cmd_ld_multi = LD $@
cmd_ld_multi = $(if $(strip $(obj-y)),\
- $(LD) -r -o $@ $(obj-y),rm -f $@; $(AR) rcs $@)
+ $(LD) -r -o $@ $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
# Build rules
$(OUTPUT)%.o: %.c FORCE
diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build
index 70d8762..429c7d4 100644
--- a/tools/build/tests/ex/Build
+++ b/tools/build/tests/ex/Build
@@ -1,6 +1,7 @@
ex-y += ex.o
ex-y += a.o
ex-y += b.o
+ex-y += b.o
ex-y += empty/
ex-y += empty2/
--
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]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-08-26 15:10 +0200 |
| Message-ID | <q1ICK-6BL-13@gated-at.bofh.it> |
| In reply to | #1213644 |
Em Wed, Aug 26, 2015 at 10:07:50AM +0200, Jiri Olsa escreveu:
> On Wed, Aug 26, 2015 at 10:27:09AM +0300, Adrian Hunter wrote:
> > On 26/08/15 10:25, Jiri Olsa wrote:
> > > On Wed, Aug 26, 2015 at 09:57:13AM +0300, Adrian Hunter wrote:
> > >> On 25/08/15 18:30, Arnaldo Carvalho de Melo wrote:
> > >>> Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
> > >>>> 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.hunter@intel.com>
> > >>>> ---
> > >>>> tools/perf/util/Build | 2 +-
> > >>>> tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
> > >>>> 2 files changed, 4 insertions(+), 1 deletion(-)
> > >>>>
> > >>>> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> > >>>> index e912856cc4e5..8ae31e5131ee 100644
> > >>>> --- a/tools/perf/util/Build
> > >>>> +++ b/tools/perf/util/Build
> > >>>> @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
> > >>>> libperf-y += record.o
> > >>>> libperf-y += srcline.o
> > >>>> libperf-y += data.o
> > >>>> -libperf-$(CONFIG_X86) += tsc.o
> > >>>> +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
> > >>>
> > >>> I think this is preferred/more clear:
> > >>>
> > >>> libperf-$(CONFIG_X86) += tsc.o
> > >>> libperf-$(CONFIG_AUXTRACE) += tsc.o
> > >>
> > >> I tried that first but it doesn't work:
> > >>
> > >> util/tsc.o: In function `perf_time_to_tsc':
> > >> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: multiple definition of `perf_time_to_tsc'
> > >> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:7: first defined here
> > >> util/tsc.o: In function `tsc_to_perf_time':
> > >> /mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: multiple definition of `tsc_to_perf_time'
> > >> util/tsc.o:/mnt/ssd/ahunter/git/linux-perf/tools/perf/util/tsc.c:18: first defined here
> > >> make[3]: *** [util/libperf-in.o] Error 1
> > >> make[2]: *** [util] Error 2
> > >> make[1]: *** [libperf-in.o] Error 2
> > >> make: *** [all] Error 2
> > >>
> > >> I will have a look at why, unless Jiri knows?
> > >>
> > >
> > > I'm now testing attached patch, does it fix it for you?
> >
> > Yup! Thanks Jiri! :-)
> >
>
> cool, I'll send it out soon..
>
> Arnaldo,
> the tarpkg test is failing on me because of removed export.h
> not sure I missed attached update in your patch queue
Thanks, applying, strange this remained there :-\
> jirka
>
>
> ---
> diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
> index d01a0aad5a01..4d16e8af18b7 100644
> --- a/tools/perf/MANIFEST
> +++ b/tools/perf/MANIFEST
> @@ -40,7 +40,6 @@ tools/include/asm-generic/bitops.h
> tools/include/linux/atomic.h
> tools/include/linux/bitops.h
> tools/include/linux/compiler.h
> -tools/include/linux/export.h
> tools/include/linux/hash.h
> tools/include/linux/kernel.h
> tools/include/linux/list.h
--
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]
| From | tip-bot for Jiri Olsa <tipbot@zytor.com> |
|---|---|
| Date | 2015-08-28 08:50 +0200 |
| Subject | [tip:perf/core] perf tools: Remove export.h from MANIFEST |
| Message-ID | <q2lE6-3R6-11@gated-at.bofh.it> |
| In reply to | #1213644 |
Commit-ID: 18b9a05868391e8f617febb4528bc1765dc921cf Gitweb: http://git.kernel.org/tip/18b9a05868391e8f617febb4528bc1765dc921cf Author: Jiri Olsa <jolsa@redhat.com> AuthorDate: Wed, 26 Aug 2015 10:07:50 +0200 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Wed, 26 Aug 2015 10:34:57 -0300 perf tools: Remove export.h from MANIFEST We don't carry an export.h wrapper anymore, remove it from the MANIFEST file to avoid breaking the make perf-tar targets. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Link: http://lkml.kernel.org/r/20150826080750.GD22670@krava.redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/MANIFEST | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST index f31f15a..af009bd 100644 --- a/tools/perf/MANIFEST +++ b/tools/perf/MANIFEST @@ -41,7 +41,6 @@ tools/include/asm-generic/bitops.h tools/include/linux/atomic.h tools/include/linux/bitops.h tools/include/linux/compiler.h -tools/include/linux/export.h tools/include/linux/hash.h tools/include/linux/kernel.h tools/include/linux/list.h -- 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]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-08-26 09:10 +0200 |
| Message-ID | <q1D0m-71b-39@gated-at.bofh.it> |
| In reply to | #1213122 |
On Tue, Aug 25, 2015 at 12:30:10PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 25, 2015 at 01:42:27PM +0300, Adrian Hunter escreveu:
> > 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.hunter@intel.com>
> > ---
> > tools/perf/util/Build | 2 +-
> > tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c | 3 +++
> > 2 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> > index e912856cc4e5..8ae31e5131ee 100644
> > --- a/tools/perf/util/Build
> > +++ b/tools/perf/util/Build
> > @@ -74,7 +74,7 @@ libperf-y += stat-shadow.o
> > libperf-y += record.o
> > libperf-y += srcline.o
> > libperf-y += data.o
> > -libperf-$(CONFIG_X86) += tsc.o
> > +libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
>
> I think this is preferred/more clear:
>
> libperf-$(CONFIG_X86) += tsc.o
> libperf-$(CONFIG_AUXTRACE) += tsc.o
>
> As we have in drivers/Makefile, in the kernel sources:
>
> drivers/Makefile:obj-$(CONFIG_PCI) += usb/
> drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/
> drivers/Makefile:obj-$(CONFIG_USB_PHY) += usb/
> drivers/Makefile:obj-$(CONFIG_USB) += usb/
>
> From Documentation/kbuild/makefiles.txt:
>
> --- 3.2 Built-in object goals - obj-y
>
> The kbuild Makefile specifies object files for vmlinux
> in the $(obj-y) lists. These lists depend on the kernel
> configuration.
>
> Kbuild compiles all the $(obj-y) files. It then calls
> "$(LD) -r" to merge these files into one built-in.o file.
> built-in.o is later linked into vmlinux by the parent Makefile.
>
> The order of files in $(obj-y) is significant. Duplicates in
> the lists are allowed: the first instance will be linked into
> built-in.o and succeeding instances will be ignored.
nope, we don't do that.. but it's nice feature ;-)
seems easy enough, I'll check
jirka
--
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]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2015-08-31 20:50 +0200 |
| Subject | [PATCH V2] perf tools: Fix build on powerpc broken by pt/bts |
| Message-ID | <q3Cjv-7HJ-3@gated-at.bofh.it> |
| In reply to | #1213122 |
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.hunter@intel.com>
---
Changes in V2:
Use:
libperf-$(CONFIG_X86) += tsc.o
libperf-$(CONFIG_AUXTRACE) += tsc.o
instead of:
libperf-$(if $(CONFIG_X86)$(CONFIG_AUXTRACE),y) += tsc.o
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 e912856cc4e5..e79e4522368a 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 9e4eb8fcd559..d23138c06665 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;
--
1.9.1
--
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]
| From | tip-bot for Adrian Hunter <tipbot@zytor.com> |
|---|---|
| Date | 2015-09-01 10:40 +0200 |
| Subject | [tip:perf/urgent] perf tools: Fix build on powerpc broken by pt/ bts |
| Message-ID | <q3PgK-1hp-19@gated-at.bofh.it> |
| In reply to | #1216370 |
Commit-ID: 97db62062ac76e314c8bda4dc5b63f0ea906d15f
Gitweb: http://git.kernel.org/tip/97db62062ac76e314c8bda4dc5b63f0ea906d15f
Author: Adrian Hunter <adrian.hunter@intel.com>
AuthorDate: Mon, 31 Aug 2015 21:39:44 +0300
Committer: Arnaldo Carvalho de Melo <acme@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.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1441046384-28663-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@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 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