Commit-ID: aeec4743f2d99b5643e079df95c41032af8c659a Gitweb: http://git.kernel.org/tip/aeec4743f2d99b5643e079df95c41032af8c659a Author: Ingo Molnar <mi...@kernel.org> AuthorDate: Thu, 14 Nov 2013 08:25:24 +0100 Committer: Ingo Molnar <mi...@kernel.org> CommitDate: Thu, 14 Nov 2013 13:36:19 +0100
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% ) Cc: Russell King <r...@arm.linux.org.uk> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Arnaldo Carvalho de Melo <a...@infradead.org> Cc: Jiri Olsa <jo...@redhat.com> Cc: Jean Pihet <jean.pi...@linaro.org> Cc: Will Deacon <will.dea...@arm.com> Link: http://lkml.kernel.org/n/tip-scsoctqzmou3rpkixchez...@git.kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> --- tools/perf/config/Makefile | 10 ++++++++-- tools/perf/config/feature-checks/test-all.c | 4 ---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 861379e..f7d11a8 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -329,8 +329,14 @@ ifndef NO_LIBUNWIND msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1); NO_LIBUNWIND := 1 else - ifneq ($(feature-libunwind-debug-frame), 1) - msg := $(warning No debug_frame support found in libunwind); + ifeq ($(ARCH),arm) + $(call feature_check,libunwind-debug-frame) + ifneq ($(feature-libunwind-debug-frame), 1) + msg := $(warning No debug_frame support found in libunwind); + CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME + endif + else + # non-ARM has no dwarf_find_debug_frame() function: CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME endif endif diff --git a/tools/perf/config/feature-checks/test-all.c b/tools/perf/config/feature-checks/test-all.c index 799865b..59e7a70 100644 --- a/tools/perf/config/feature-checks/test-all.c +++ b/tools/perf/config/feature-checks/test-all.c @@ -49,10 +49,6 @@ # include "test-libunwind.c" #undef main -#define main main_test_libunwind_debug_frame -# include "test-libunwind-debug-frame.c" -#undef main - #define main main_test_libaudit # include "test-libaudit.c" #undef main -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/