diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2014-10-23 06:45:24 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-10-29 08:32:48 -0400 |
commit | 46b1fa85ff5a2e03423770b3931b97266e8ac6cf (patch) | |
tree | 1141f5e2227417cf3bff0e489eac16f0bd5e306f | |
parent | f6832e1720f5cc283703cfe9ccbfb46a3fb6f548 (diff) |
perf tools: Do not attempt to run perf-read-vdso32 if it wasn't built
popen() causes an error message to print if perf-read-vdso32 does not
run. Avoid that by not trying to run it if it was not built. Ditto
perf-read-vdsox32.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1414061124-26830-17-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/config/Makefile | 8 | ||||
-rw-r--r-- | tools/perf/util/vdso.c | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 3ba2382a5236..71264e41fa85 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile | |||
@@ -627,7 +627,9 @@ endif | |||
627 | ifeq (${IS_64_BIT}, 1) | 627 | ifeq (${IS_64_BIT}, 1) |
628 | ifndef NO_PERF_READ_VDSO32 | 628 | ifndef NO_PERF_READ_VDSO32 |
629 | $(call feature_check,compile-32) | 629 | $(call feature_check,compile-32) |
630 | ifneq ($(feature-compile-32), 1) | 630 | ifeq ($(feature-compile-32), 1) |
631 | CFLAGS += -DHAVE_PERF_READ_VDSO32 | ||
632 | else | ||
631 | NO_PERF_READ_VDSO32 := 1 | 633 | NO_PERF_READ_VDSO32 := 1 |
632 | endif | 634 | endif |
633 | endif | 635 | endif |
@@ -636,7 +638,9 @@ ifeq (${IS_64_BIT}, 1) | |||
636 | endif | 638 | endif |
637 | ifndef NO_PERF_READ_VDSOX32 | 639 | ifndef NO_PERF_READ_VDSOX32 |
638 | $(call feature_check,compile-x32) | 640 | $(call feature_check,compile-x32) |
639 | ifneq ($(feature-compile-x32), 1) | 641 | ifeq ($(feature-compile-x32), 1) |
642 | CFLAGS += -DHAVE_PERF_READ_VDSOX32 | ||
643 | else | ||
640 | NO_PERF_READ_VDSOX32 := 1 | 644 | NO_PERF_READ_VDSOX32 := 1 |
641 | endif | 645 | endif |
642 | endif | 646 | endif |
diff --git a/tools/perf/util/vdso.c b/tools/perf/util/vdso.c index 69daef6a17d5..5c7dd796979d 100644 --- a/tools/perf/util/vdso.c +++ b/tools/perf/util/vdso.c | |||
@@ -255,6 +255,16 @@ static int vdso__dso_findnew_compat(struct machine *machine, | |||
255 | enum dso_type dso_type; | 255 | enum dso_type dso_type; |
256 | 256 | ||
257 | dso_type = machine__thread_dso_type(machine, thread); | 257 | dso_type = machine__thread_dso_type(machine, thread); |
258 | |||
259 | #ifndef HAVE_PERF_READ_VDSO32 | ||
260 | if (dso_type == DSO__TYPE_32BIT) | ||
261 | return 0; | ||
262 | #endif | ||
263 | #ifndef HAVE_PERF_READ_VDSOX32 | ||
264 | if (dso_type == DSO__TYPE_X32BIT) | ||
265 | return 0; | ||
266 | #endif | ||
267 | |||
258 | switch (dso_type) { | 268 | switch (dso_type) { |
259 | case DSO__TYPE_32BIT: | 269 | case DSO__TYPE_32BIT: |
260 | *dso = vdso__findnew_compat(machine, &vdso_info->vdso32); | 270 | *dso = vdso__findnew_compat(machine, &vdso_info->vdso32); |