From: Arnaldo Carvalho de Melo acme@ghostprotocols.net
Hi Ingo,
I ended up deciding sending the whole series, repeating the first dozen, with the "perf evsel: Skip ignored symbols while printing callchain" one fixed up wrt Adrian's report.
Please consider applying,
Best Regards,
- Arnaldo
The following changes since commit 65661f96d3b32f4b28fef26d21be81d7e173b965:
perf/x86: Add RAPL hrtimer support (2013-11-27 15:31:23 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to aa880acd0853437933cefcb7d745b03fde3e6a3d:
perf tools unwinding: Use the per-feature check flags (2013-11-27 16:50:28 -0300)
---------------------------------------------------------------- perf/core improvements and fixes:
. Make per-cpu mmaps the default in 'perf record', from Adrian Hunter.
. Default -t/--thread 'perf record' option to no inheritance, from Adrian Hunter.
. Make 'perf top -g' refer to callchains, for consistency with other tools, from David Ahern.
. Skip ignored symbols while printing callchain, from David Ahern.
. Print callchains and symbols if they exist in 'perf script', from David Ahern.
. Remove thread summary coloring in 'perf trace', from Pekka Enberg.
. zsh completion support, from Ramkumar Ramachandra.
. 'perf timechart' improvements, including backtrace support, from Stanislav Fomichev.
. Fix using kcore files stored in the buildid cache when doing report/annotate in non-live sessions, from Adrian Hunter
. Minor 'timechart' cleanups.
. Fix libunwind build suport on ARM, from Jean Pihet.
. Fix tags/TAGS targets rebuilding, from Jiri Olsa.
. Add options to show comm, fork, exit and mmap PERF_RECORD_ events in 'perf script', from Namhyung Kim.
Signed-off-by: Arnaldo Carvalho de Melo acme@redhat.com
---------------------------------------------------------------- Adrian Hunter (5): perf record: Make per-cpu mmaps the default. perf tools: Allow '--inherit' as the negation of '--no-inherit' perf tools: Add option macro OPT_BOOLEAN_SET perf record: Default -t option to no inheritance perf symbols: Fix not finding kcore in buildid cache
Arnaldo Carvalho de Melo (2): perf timechart: Remove some needless struct forward declarations perf timechart: Remove misplaced __maybe_unused
David Ahern (6): perf top: Make -g refer to callchains perf evsel: Skip ignored symbols while printing callchain perf symbols: Move idle syms check from top to generic function perf thread: Move comm_list check into function perf tools: Export setup_list perf script: Print callchains and symbols if they exist
Jean Pihet (2): perf tools: Add per-feature check flags perf tools unwinding: Use the per-feature check flags
Jiri Olsa (1): perf tools: Fix tags/TAGS targets rebuilding
Namhyung Kim (3): perf script: Move evname print code to process_event() perf script: Print comm, fork and exit events also perf script: Print mmap[2] events also
Pekka Enberg (1): perf trace: Remove thread summary coloring
Ramkumar Ramachandra (5): perf completion: Introduce a layer of indirection perf completion: Factor out compgen stuff perf completion: Factor out call to __ltrim_colon_completions perf completion: Introduce zsh support perf completion: Rename file to reflect zsh support
Stanislav Fomichev (8): perf timechart: Always try to print at least 15 tasks perf timechart: Add option to limit number of tasks perf timechart: Use proc_num to implement --power-only perf timechart: Add support for displaying only tasks related data perf timechart: Group figures and add title with details perf timechart: Add support for -P and -T in timechart recording perf timechart: Add backtrace support perf timechart: dynamically determine event fields offset
Steven Rostedt (1): tools lib traceevent: Use helper trace-seq in print functions like kernel does
tools/lib/traceevent/event-parse.c | 7 +- tools/perf/Documentation/perf-record.txt | 12 +- tools/perf/Documentation/perf-script.txt | 6 + tools/perf/Documentation/perf-timechart.txt | 26 +- tools/perf/Documentation/perf-top.txt | 5 +- tools/perf/Makefile | 7 +- tools/perf/Makefile.perf | 4 +- tools/perf/builtin-record.c | 13 +- tools/perf/builtin-script.c | 209 ++++++++++- tools/perf/builtin-timechart.c | 418 ++++++++++++++------- tools/perf/builtin-top.c | 29 +- tools/perf/builtin-trace.c | 13 +- tools/perf/config/Makefile | 38 +- tools/perf/config/feature-checks/Makefile | 6 +- tools/perf/{bash_completion => perf-completion.sh} | 100 ++++- tools/perf/perf.h | 1 + tools/perf/tests/attr/test-record-no-inherit | 2 +- tools/perf/util/event.c | 3 +- tools/perf/util/evlist.c | 6 +- tools/perf/util/evsel.c | 5 +- tools/perf/util/parse-options.c | 21 ++ tools/perf/util/parse-options.h | 8 + tools/perf/util/session.c | 10 +- tools/perf/util/svghelper.c | 77 +++- tools/perf/util/svghelper.h | 11 +- tools/perf/util/symbol.c | 41 +- tools/perf/util/symbol.h | 4 + tools/perf/util/target.c | 11 +- tools/perf/util/target.h | 4 +- tools/perf/util/thread.h | 12 + 30 files changed, 855 insertions(+), 254 deletions(-) rename tools/perf/{bash_completion => perf-completion.sh} (65%)
From: Jean Pihet jean.pihet@linaro.org
Add CFLAGS and LDFLAGS for each feature to be checked. This allows to pass flags and parameters to the feature checks compilation. Also simplifies the feature check makefile, to come in a subsequent patch. Signed-off-by: Jean Pihet jean.pihet@linaro.org
Acked-by: Ingo Molnar mingo@kernel.org Cc: Arnaldo Carvalho de Melo acme@ghostprotocols.net Cc: Ingo Molnar mingo@kernel.org Cc: Jiri Olsa jolsa@redhat.com Cc: Will Deacon will.deacon@arm.com Cc: linaro-kernel@lists.linaro.org Cc: patches@linaro.org Link: http://lkml.kernel.org/r/1385045539-24537-2-git-send-email-jean.pihet@linaro... Signed-off-by: Arnaldo Carvalho de Melo acme@redhat.com --- tools/perf/config/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index f7d11a811c74..c55149538d92 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -102,7 +102,7 @@ endif
feature_check = $(eval $(feature_check_code)) define feature_check_code - feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(LDFLAGS)" LIBUNWIND_LIBS="$(LIBUNWIND_LIBS)" -C config/feature-checks test-$1 >/dev/null 2>/dev/null && echo 1 || echo 0) + feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" LIBUNWIND_LIBS="$(LIBUNWIND_LIBS)" -C config/feature-checks test-$1 >/dev/null 2>/dev/null && echo 1 || echo 0) endef
feature_set = $(eval $(feature_set_code))
From: Jean Pihet jean.pihet@linaro.org
Use the per-feature check flags for the unwinding feature in order to correctly compile the libunwind and libunwind-debug-frame feature checks.
Tested on ARMv7 and ARMv8 with 'make DEBUG=1 LIBUNWIND_DIR=/usr/local -C tools/perf'
Signed-off-by: Jean Pihet jean.pihet@linaro.org Acked-by: Ingo Molnar mingo@kernel.org Cc: Arnaldo Carvalho de Melo acme@ghostprotocols.net Cc: Ingo Molnar mingo@kernel.org Cc: Jiri Olsa jolsa@redhat.com Cc: Will Deacon will.deacon@arm.com Cc: linaro-kernel@lists.linaro.org Cc: patches@linaro.org Link: http://lkml.kernel.org/r/1385045539-24537-3-git-send-email-jean.pihet@linaro... Signed-off-by: Arnaldo Carvalho de Melo acme@redhat.com --- tools/perf/config/Makefile | 38 +++++++++++++++++-------------- tools/perf/config/feature-checks/Makefile | 6 ++--- 2 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index c55149538d92..80ea6d823908 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -36,6 +36,26 @@ ifeq ($(ARCH),arm) LIBUNWIND_LIBS = -lunwind -lunwind-arm endif
+ifeq ($(LIBUNWIND_LIBS),) + NO_LIBUNWIND := 1 +else + # + # For linking with debug library, run like: + # + # make DEBUG=1 LIBUNWIND_DIR=/opt/libunwind/ + # + ifdef LIBUNWIND_DIR + LIBUNWIND_CFLAGS = -I$(LIBUNWIND_DIR)/include + LIBUNWIND_LDFLAGS = -L$(LIBUNWIND_DIR)/lib + endif + LIBUNWIND_LDFLAGS += $(LIBUNWIND_LIBS) + + FEATURE_CHECK_CFLAGS-libunwind = $(LIBUNWIND_CFLAGS) + FEATURE_CHECK_LDFLAGS-libunwind = $(LIBUNWIND_LDFLAGS) + FEATURE_CHECK_CFLAGS-libunwind-debug-frame = $(LIBUNWIND_CFLAGS) + FEATURE_CHECK_LDFLAGS-libunwind-debug-frame = $(LIBUNWIND_LDFLAGS) +endif + ifeq ($(NO_PERF_REGS),0) CFLAGS += -DHAVE_PERF_REGS_SUPPORT endif @@ -102,7 +122,7 @@ endif
feature_check = $(eval $(feature_check_code)) define feature_check_code - feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" LIBUNWIND_LIBS="$(LIBUNWIND_LIBS)" -C config/feature-checks test-$1 >/dev/null 2>/dev/null && echo 1 || echo 0) + feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" -C config/feature-checks test-$1 >/dev/null 2>/dev/null && echo 1 || echo 0) endef
feature_set = $(eval $(feature_set_code)) @@ -310,21 +330,7 @@ ifndef NO_LIBELF endif # NO_DWARF endif # NO_LIBELF
-ifeq ($(LIBUNWIND_LIBS),) - NO_LIBUNWIND := 1 -endif - ifndef NO_LIBUNWIND - # - # For linking with debug library, run like: - # - # make DEBUG=1 LIBUNWIND_DIR=/opt/libunwind/ - # - ifdef LIBUNWIND_DIR - LIBUNWIND_CFLAGS := -I$(LIBUNWIND_DIR)/include - LIBUNWIND_LDFLAGS := -L$(LIBUNWIND_DIR)/lib - endif - ifneq ($(feature-libunwind), 1) msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1); NO_LIBUNWIND := 1 @@ -340,9 +346,7 @@ ifndef NO_LIBUNWIND CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME endif endif -endif
-ifndef NO_LIBUNWIND CFLAGS += -DHAVE_LIBUNWIND_SUPPORT EXTLIBS += $(LIBUNWIND_LIBS) CFLAGS += $(LIBUNWIND_CFLAGS) diff --git a/tools/perf/config/feature-checks/Makefile b/tools/perf/config/feature-checks/Makefile index 87e790017c69..8dffb628dac8 100644 --- a/tools/perf/config/feature-checks/Makefile +++ b/tools/perf/config/feature-checks/Makefile @@ -38,7 +38,7 @@ BUILD = $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUTPUT)$@ $@.c ###############################
test-all: - $(BUILD) -Werror -fstack-protector -fstack-protector-all -O2 -Werror -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma $(LIBUNWIND_LIBS) -lelf -laudit -I/usr/include/slang -lslang $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null) $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl + $(BUILD) -Werror -fstack-protector -fstack-protector-all -O2 -Werror -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -laudit -I/usr/include/slang -lslang $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null) $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl
test-hello: $(BUILD) @@ -74,10 +74,10 @@ test-libnuma: $(BUILD) -lnuma
test-libunwind: - $(BUILD) $(LIBUNWIND_LIBS) -lelf + $(BUILD) -lelf
test-libunwind-debug-frame: - $(BUILD) $(LIBUNWIND_LIBS) -lelf + $(BUILD) -lelf
test-libaudit: $(BUILD) -laudit
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote:
From: Jean Pihet jean.pihet@linaro.org
Use the per-feature check flags for the unwinding feature in order to correctly compile the libunwind and libunwind-debug-frame feature checks.
Tested on ARMv7 and ARMv8 with 'make DEBUG=1 LIBUNWIND_DIR=/usr/local -C tools/perf'
this one makes my build fail:
[jolsa@krava perf]$ make BUILD: Doing 'make -j4' parallel build
Auto-detecting system features: ... backtrace: [ on ] ... dwarf: [ on ] ... fortify-source: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... gtk2-infobar: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libpython-version: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... on-exit: [ on ] ... stackprotector: [ on ] ... stackprotector-all: [ on ] ... timerfd: [ on ]
config/Makefile:335: No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1
...
LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
jirka
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote:
From: Jean Pihet jean.pihet@linaro.org
Use the per-feature check flags for the unwinding feature in order to correctly compile the libunwind and libunwind-debug-frame feature checks.
Tested on ARMv7 and ARMv8 with 'make DEBUG=1 LIBUNWIND_DIR=/usr/local -C tools/perf'
this one makes my build fail:
[jolsa@krava perf]$ make BUILD: Doing 'make -j4' parallel build
Auto-detecting system features: ... backtrace: [ on ] ... dwarf: [ on ] ... fortify-source: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... gtk2-infobar: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libpython-version: [ on ] ... libslang: [ on ] ... libunwind: [ OFF ] ... on-exit: [ on ] ... stackprotector: [ on ] ... stackprotector-all: [ on ] ... timerfd: [ on ]
config/Makefile:335: No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1
...
LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
jirka
--- diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 80ea6d8..5f531db 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -345,12 +345,12 @@ ifndef NO_LIBUNWIND # non-ARM has no dwarf_find_debug_frame() function: CFLAGS += -DNO_LIBUNWIND_DEBUG_FRAME endif - endif
- CFLAGS += -DHAVE_LIBUNWIND_SUPPORT - EXTLIBS += $(LIBUNWIND_LIBS) - CFLAGS += $(LIBUNWIND_CFLAGS) - LDFLAGS += $(LIBUNWIND_LDFLAGS) + CFLAGS += -DHAVE_LIBUNWIND_SUPPORT + CFLAGS += $(LIBUNWIND_CFLAGS) + EXTLIBS += $(LIBUNWIND_LIBS) + LDFLAGS += $(LIBUNWIND_LDFLAGS) + endif # ifneq ($(feature-libunwind), 1) endif
ifndef NO_LIBAUDIT
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
- Arnaldo
Em Thu, Nov 28, 2013 at 09:56:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
I just noticed that this patch breaks the feature detection mechanism, after it is applied it is back performing all tests at every make call, this needs rethinking, so I'm dropping both.
Ingo, please disregard, yet again, my latest pull request, sigh.
Jiri, this could be something for tests/make, till then I'll try to check this manually.
- Arnaldo
On 28 November 2013 14:46, Arnaldo Carvalho de Melo acme@infradead.org wrote:
Em Thu, Nov 28, 2013 at 09:56:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
I just noticed that this patch breaks the feature detection mechanism, after it is applied it is back performing all tests at every make call, this needs rethinking, so I'm dropping both.
Oh I am sorry about that. I tested on ARM with and without the LIBUNWIND_DIR option set. Let me rethink/rework this and come back to you with a proper fix.
Ingo, please disregard, yet again, my latest pull request, sigh.
Jiri, this could be something for tests/make, till then I'll try to check this manually.
One question though: are you OK with the principle of having per-feature check flags? This brings two things to the feature detection and build: 1. the ability to specify specific flags for the feature check, which is not possible on the current code, 2. a simplification in the Makefiles.
Jean
- Arnaldo
On Thu, Nov 28, 2013 at 09:02:23PM +0100, Jean Pihet wrote:
On 28 November 2013 14:46, Arnaldo Carvalho de Melo acme@infradead.org wrote:
Em Thu, Nov 28, 2013 at 09:56:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
I just noticed that this patch breaks the feature detection mechanism, after it is applied it is back performing all tests at every make call, this needs rethinking, so I'm dropping both.
Oh I am sorry about that. I tested on ARM with and without the LIBUNWIND_DIR option set. Let me rethink/rework this and come back to you with a proper fix.
Ingo, please disregard, yet again, my latest pull request, sigh.
Jiri, this could be something for tests/make, till then I'll try to check this manually.
One question though: are you OK with the principle of having per-feature check flags? This brings two things to the feature detection and build:
- the ability to specify specific flags for the feature check, which
is not possible on the current code, 2. a simplification in the Makefiles.
looks good to me
jirka
I just resent the patches as v2.
I tested on x86_64, ARMv7 and ARMv8 with and without LIBUNWIND_DIR= set in 'make -C tools/perf'. Can you check on your build setup?
Thanks, Jean
On 29 November 2013 16:45, Jiri Olsa jolsa@redhat.com wrote:
On Thu, Nov 28, 2013 at 09:02:23PM +0100, Jean Pihet wrote:
On 28 November 2013 14:46, Arnaldo Carvalho de Melo acme@infradead.org wrote:
Em Thu, Nov 28, 2013 at 09:56:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote:
On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: LINK perf /bin/ld: cannot find -lunwind /bin/ld: cannot find -lunwind-x86_64 collect2: error: ld returned 1 exit status make[1]: *** [perf] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2
I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
I just noticed that this patch breaks the feature detection mechanism, after it is applied it is back performing all tests at every make call, this needs rethinking, so I'm dropping both.
Oh I am sorry about that. I tested on ARM with and without the LIBUNWIND_DIR option set. Let me rethink/rework this and come back to you with a proper fix.
Ingo, please disregard, yet again, my latest pull request, sigh.
Jiri, this could be something for tests/make, till then I'll try to check this manually.
One question though: are you OK with the principle of having per-feature check flags? This brings two things to the feature detection and build:
- the ability to specify specific flags for the feature check, which
is not possible on the current code, 2. a simplification in the Makefiles.
looks good to me
jirka
Hi,
On 3 December 2013 17:15, Jean Pihet jean.pihet@linaro.org wrote:
I just resent the patches as v2.
I tested on x86_64, ARMv7 and ARMv8 with and without LIBUNWIND_DIR= set in 'make -C tools/perf'. Can you check on your build setup?
I just found that the linker options may not work on some distros (in my case Ubuntu on ARMv7). The fix is here below. v3 is on its way.
Can you please check?
diff --git a/tools/perf/config/feature-checks/Makefile b/tools/perf/config/feature-checks/Makefile index 87e7900..0bf3af7 100644 --- a/tools/perf/config/feature-checks/Makefile +++ b/tools/perf/config/feature-checks/Makefile @@ -33,7 +33,7 @@ CC := $(CC) -MD
all: $(FILES)
-BUILD = $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUTPUT)$@ $@.c +BUILD = $(CC) $(CFLAGS) -o $(OUTPUT)$@ $@.c $(LDFLAGS)
###############################
Thanks, Jean
On 29 November 2013 16:45, Jiri Olsa jolsa@redhat.com wrote:
On Thu, Nov 28, 2013 at 09:02:23PM +0100, Jean Pihet wrote:
On 28 November 2013 14:46, Arnaldo Carvalho de Melo acme@infradead.org wrote:
Em Thu, Nov 28, 2013 at 09:56:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Nov 28, 2013 at 10:58:01AM +0100, Jiri Olsa escreveu:
On Wed, Nov 27, 2013 at 11:43:23PM +0100, Jiri Olsa wrote: > On Wed, Nov 27, 2013 at 05:16:34PM -0300, Arnaldo Carvalho de Melo wrote: > LINK perf > /bin/ld: cannot find -lunwind > /bin/ld: cannot find -lunwind-x86_64 > collect2: error: ld returned 1 exit status > make[1]: *** [perf] Error 1 > make[1]: *** Waiting for unfinished jobs.... > make: *** [all] Error 2
> I haven't checked this one.. will do tomorrow
we need to plug libunwind flags/libs only if the $(feature-libunwind) is enabled..
NO_LIBUNWIND - user's decision not to link with libunwind or architecture that does not support it
$(feature-libunwind) - if it's actually installed
attached change fixies that for me, feel free to use/merge it
Argh, I used tests/make on one machine where those two patches by Jean were not applied, then rebased on another, the one I use to submit, those got included but not tests/make tested, which probably explains why this got thru :-\
Jean, can you please check that this works for you on ARM too?
I just noticed that this patch breaks the feature detection mechanism, after it is applied it is back performing all tests at every make call, this needs rethinking, so I'm dropping both.
Oh I am sorry about that. I tested on ARM with and without the LIBUNWIND_DIR option set. Let me rethink/rework this and come back to you with a proper fix.
Ingo, please disregard, yet again, my latest pull request, sigh.
Jiri, this could be something for tests/make, till then I'll try to check this manually.
One question though: are you OK with the principle of having per-feature check flags? This brings two things to the feature detection and build:
- the ability to specify specific flags for the feature check, which
is not possible on the current code, 2. a simplification in the Makefiles.
looks good to me
jirka
linaro-kernel@lists.linaro.org