diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-11-14 02:25:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-11-14 12:00:45 -0500 |
commit | e310718d0e83aeb9969264dc577c45db16d9104d (patch) | |
tree | 256a30b7c8ba274c933b049e577e3f778ca6109d /tools/perf/config | |
parent | bb4c5500c9c5b809696eee212843e731721a6e15 (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/Makefile | 10 | ||||
-rw-r--r-- | tools/perf/config/feature-checks/Makefile | 3 | ||||
-rw-r--r-- | tools/perf/config/feature-checks/test-all.c | 4 |
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: | |||
76 | test-libunwind: | 76 | test-libunwind: |
77 | $(BUILD) $(LIBUNWIND_LIBS) -lelf | 77 | $(BUILD) $(LIBUNWIND_LIBS) -lelf |
78 | 78 | ||
79 | test-libunwind-debug-frame: | ||
80 | $(BUILD) $(LIBUNWIND_LIBS) -lelf | ||
81 | |||
79 | test-libaudit: | 82 | test-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 |