From 10dfa4ee4e05841be3d3caaa28778aa40b782f97 Mon Sep 17 00:00:00 2001 From: Chong Lu Date: Mon, 8 Sep 2014 12:58:25 +0100 Subject: perf: add libunwind support Add a new feature named 'perf-libunwind'. Adding this support to perf allows it to do stack traces on ARM - thumb2 and MIPS targets. PERF_FEATURES variable in perf-features.inc will enable the perf-libunwind. Signed-off-by: Chong Lu Signed-off-by: Saul Wold Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-kernel/perf/perf-features.inc | 2 +- meta/recipes-kernel/perf/perf.bb | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-kernel/perf/perf-features.inc b/meta/recipes-kernel/perf/perf-features.inc index b8859ab7d5..2dbbb47761 100644 --- a/meta/recipes-kernel/perf/perf-features.inc +++ b/meta/recipes-kernel/perf/perf-features.inc @@ -1,4 +1,4 @@ -PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui" +PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui perf-libunwind" def perf_feature_enabled(feature, trueval, falseval, d): """ diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index ebfedb91d7..cbd03f27ba 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -20,6 +20,7 @@ BUILDPERF_libc-uclibc = "no" # to cover a wide range of kernel we add both dependencies TUI_DEPENDS = "${@perf_feature_enabled('perf-tui', 'libnewt slang', '',d)}" SCRIPTING_DEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl python', '',d)}" +LIBUNWIND_DEPENDS = "${@perf_feature_enabled('perf-libunwind', 'libunwind', '',d)}" DEPENDS = "virtual/kernel \ virtual/${MLPREFIX}libc \ @@ -27,6 +28,7 @@ DEPENDS = "virtual/kernel \ ${MLPREFIX}binutils \ ${TUI_DEPENDS} \ ${SCRIPTING_DEPENDS} \ + ${LIBUNWIND_DEPENDS} \ bison flex \ " @@ -62,6 +64,7 @@ B = "${WORKDIR}/${BPN}-${PV}" SCRIPTING_DEFINES = "${@perf_feature_enabled('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}" TUI_DEFINES = "${@perf_feature_enabled('perf-tui', '', 'NO_NEWT=1',d)}" +LIBUNWIND_DEFINES = "${@perf_feature_enabled('perf-libunwind', '', 'NO_LIBUNWIND=1',d)}" # The LDFLAGS is required or some old kernels fails due missing # symbols and this is preferred than requiring patches to every old @@ -76,7 +79,7 @@ EXTRA_OEMAKE = '\ CC="${CC}" \ AR="${AR}" \ perfexecdir=${libexecdir} \ - NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 NO_LIBUNWIND=1 ${SCRIPTING_DEFINES} \ + NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${LIBUNWIND_DEFINES} ${SCRIPTING_DEFINES} \ ' EXTRA_OEMAKE += "\ -- cgit 1.2.3-korg