aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/config
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-11-14 02:25:24 -0500
committerIngo Molnar <mingo@kernel.org>2013-11-14 12:00:45 -0500
commite310718d0e83aeb9969264dc577c45db16d9104d (patch)
tree256a30b7c8ba274c933b049e577e3f778ca6109d /tools/perf/config
parentbb4c5500c9c5b809696eee212843e731721a6e15 (diff)
tools/perf/build: Fix feature-libunwind-debug-frame handling
Set feature-libunwind-debug-frame. We don't want it in CORE_FEATURE_TESTS because it's not the generic case, but we need to set it in the !feature-libunwind case. Also, because x86 distributions typically don't have dwarf_find_debug_frame() unwinding method: test-libunwind-debug-frame.c:(.text+0x31): undefined reference to `_Ux86_64_dwarf_find_debug_frame' Restrict this new API to ARM for the time being. With this patch test-all.c works again, so repeat perf builds are fast again: comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/ [...] 0,452899660 seconds time elapsed ( +- 0,11% ) While with before it was: comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/ [...] 1,674001829 seconds time elapsed ( +- 0,16% ) [ Includes fix to config/feature-checks/Makefile from Will Deacon. ] Tested-by: Will Deacon <will.deacon@arm.com> Tested-by: Jean Pihet <jean.pihet@linaro.org> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Arnaldo Carvalho de Melo <acme@infradead.org> Cc: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/n/tip-scsoctqzmou3rpkixCHezy9e@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/config')
-rw-r--r--tools/perf/config/Makefile10
-rw-r--r--tools/perf/config/feature-checks/Makefile3
-rw-r--r--tools/perf/config/feature-checks/test-all.c4
3 files changed, 11 insertions, 6 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 861379ec7632..f7d11a811c74 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -329,8 +329,14 @@ ifndef NO_LIBUNWIND
329 msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1); 329 msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1);
330 NO_LIBUNWIND := 1 330 NO_LIBUNWIND := 1
331 else 331 else
332 ifneq ($(feature-libunwind-debug-frame), 1) 332 ifeq ($(ARCH),arm)
333 msg := $(warning No debug_frame support found in libunwind); 333 $(call feature_check,libunwind-debug-frame)
334 ifneq ($(feature-libunwind-debug-frame), 1)
335 msg := $(warning No debug_frame support found in libunwind);
336 CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME
337 endif
338 else
339 # non-ARM has no dwarf_find_debug_frame() function:
334 CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME 340 CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME
335 endif 341 endif
336 endif 342 endif
diff --git a/tools/perf/config/feature-checks/Makefile b/tools/perf/config/feature-checks/Makefile
index e8e195f49a4e..87e790017c69 100644
--- a/tools/perf/config/feature-checks/Makefile
+++ b/tools/perf/config/feature-checks/Makefile
@@ -76,6 +76,9 @@ test-libnuma:
76test-libunwind: 76test-libunwind:
77 $(BUILD) $(LIBUNWIND_LIBS) -lelf 77 $(BUILD) $(LIBUNWIND_LIBS) -lelf
78 78
79test-libunwind-debug-frame:
80 $(BUILD) $(LIBUNWIND_LIBS) -lelf
81
79test-libaudit: 82test-libaudit:
80 $(BUILD) -laudit 83 $(BUILD) -laudit
81 84
diff --git a/tools/perf/config/feature-checks/test-all.c b/tools/perf/config/feature-checks/test-all.c
index 799865b60772..59e7a705e146 100644
--- a/tools/perf/config/feature-checks/test-all.c
+++ b/tools/perf/config/feature-checks/test-all.c
@@ -49,10 +49,6 @@
49# include "test-libunwind.c" 49# include "test-libunwind.c"
50#undef main 50#undef main
51 51
52#define main main_test_libunwind_debug_frame
53# include "test-libunwind-debug-frame.c"
54#undef main
55
56#define main main_test_libaudit 52#define main main_test_libaudit
57# include "test-libaudit.c" 53# include "test-libaudit.c"
58#undef main 54#undef main