aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/config/Makefile8
-rw-r--r--tools/perf/util/vdso.c10
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
627ifeq (${IS_64_BIT}, 1) 627ifeq (${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);