Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1351939 > unrolled thread
| Started by | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| First post | 2016-03-07 21:00 +0100 |
| Last post | 2016-03-11 09:50 +0100 |
| Articles | 8 — 4 participants |
Back to article view | Back to linux.kernel
[GIT PULL 00/15] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-07 21:00 +0100
[PATCH 05/15] perf jit: Move clockid validation Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-07 21:00 +0100
[PATCH] perf tool: Build jitdump only on supported archs Jiri Olsa <jolsa@redhat.com> - 2016-03-10 10:40 +0100
Re: [PATCH] perf tool: Build jitdump only on supported archs Arnaldo Carvalho de Melo <acme@redhat.com> - 2016-03-10 17:00 +0100
Re: [PATCH] perf tool: Build jitdump only on supported archs Jiri Olsa <jolsa@redhat.com> - 2016-03-10 17:10 +0100
Re: [PATCH] perf tool: Build jitdump only on supported archs Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-10 17:20 +0100
[PATCHv2] perf tool: Build jitdump only on supported archs Jiri Olsa <jolsa@redhat.com> - 2016-03-10 17:50 +0100
[tip:perf/core] perf jitdump: Build only on supported archs tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-03-11 09:50 +0100
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-03-07 21:00 +0100 |
| Subject | [GIT PULL 00/15] perf/core improvements and fixes |
| Message-ID | <ra9ke-7bJ-9@gated-at.bofh.it> |
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 009668520ae00d52026ccdb3884864e3473c6b65:
Merge tag 'perf-core-for-mingo-20160303' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-03-04 12:19:21 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160307
for you to fetch changes up to b03ae342d9bec460a6c9c327c3f5f758263b0932:
perf report: Use hierarchy hpp list on gtk (2016-03-07 15:10:41 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Allow grouping multiple sort keys per 'perf report/top --hierarchy'
level (Namhyung Kim)
- Document 'perf stat --detailed' option (Borislav Petkov)
Infrastructure:
- jitdump prep work for supporting it with Intel PT (Adrian Hunter)
- Use 64-bit shifts with (TSC) time conversion (Adrian Hunter)
Trivial:
- Explicitly declare inc_group_count as a void function (Colin Ian King)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (5):
perf inject: Hit all DSOs for AUX data in JIT and other cases
perf session: Simplify tool stubs
perf jit: Let jit_process() return errors
perf jit: Move clockid validation
perf tools: Use 64-bit shifts with (TSC) time conversion
Borislav Petkov (1):
perf stat: Document --detailed option
Colin Ian King (1):
perf tools: Explicitly declare inc_group_count as a void function
Namhyung Kim (8):
perf hists: Add level field to struct perf_hpp_fmt
perf hists: Introduce perf_hpp__setup_hists_formats()
perf hists: Use own hpp_list for hierarchy mode
perf hists: Support multiple sort keys in a hierarchy level
perf hists: Fix indent for multiple hierarchy sort key
perf report: Use hierarchy hpp list on stdio
perf hists browser: Use hierarchy hpp list
perf report: Use hierarchy hpp list on gtk
tools/perf/Documentation/perf-stat.txt | 8 ++
tools/perf/arch/x86/tests/rdpmc.c | 2 +-
tools/perf/builtin-inject.c | 52 ++++------
tools/perf/ui/browsers/hists.c | 147 +++++++++++++++-------------
tools/perf/ui/gtk/hists.c | 73 ++++++++------
tools/perf/ui/hist.c | 69 +++++++++++++
tools/perf/ui/stdio/hist.c | 171 +++++++++++++++++----------------
tools/perf/util/hist.c | 72 +++++++++-----
tools/perf/util/hist.h | 14 +++
tools/perf/util/jitdump.c | 29 +++++-
tools/perf/util/parse-events.y | 2 +-
tools/perf/util/session.c | 40 ++------
tools/perf/util/sort.c | 146 ++++++++++++++++++++--------
tools/perf/util/sort.h | 1 +
tools/perf/util/tsc.c | 2 +-
15 files changed, 514 insertions(+), 314 deletions(-)
[toc] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-03-07 21:00 +0100 |
| Subject | [PATCH 05/15] perf jit: Move clockid validation |
| Message-ID | <ra9tV-7f4-37@gated-at.bofh.it> |
| In reply to | #1351939 |
From: Adrian Hunter <ajhunter@gmail.com>
Move clockid validation into jit_process() so it can later be made
conditional.
Signed-off-by: Adrian Hunter <ajhunter@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1457005856-6143-6-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-inject.c | 24 ------------------------
tools/perf/util/jitdump.c | 23 +++++++++++++++++++++++
2 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 2512d71ca386..b2885776b602 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -729,23 +729,6 @@ static int __cmd_inject(struct perf_inject *inject)
return ret;
}
-#ifdef HAVE_LIBELF_SUPPORT
-static int
-jit_validate_events(struct perf_session *session)
-{
- struct perf_evsel *evsel;
-
- /*
- * check that all events use CLOCK_MONOTONIC
- */
- evlist__for_each(session->evlist, evsel) {
- if (evsel->attr.use_clockid == 0 || evsel->attr.clockid != CLOCK_MONOTONIC)
- return -1;
- }
- return 0;
-}
-#endif
-
int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
{
struct perf_inject inject = {
@@ -852,13 +835,6 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
}
#ifdef HAVE_LIBELF_SUPPORT
if (inject.jit_mode) {
- /*
- * validate event is using the correct clockid
- */
- if (jit_validate_events(inject.session)) {
- fprintf(stderr, "error, jitted code must be sampled with perf record -k 1\n");
- return -1;
- }
inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
inject.tool.mmap = perf_event__jit_repipe_mmap;
inject.tool.ordered_events = true;
diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
index bd9e44f9fff2..cd272cc21e05 100644
--- a/tools/perf/util/jitdump.c
+++ b/tools/perf/util/jitdump.c
@@ -99,6 +99,21 @@ jit_close(struct jit_buf_desc *jd)
}
static int
+jit_validate_events(struct perf_session *session)
+{
+ struct perf_evsel *evsel;
+
+ /*
+ * check that all events use CLOCK_MONOTONIC
+ */
+ evlist__for_each(session->evlist, evsel) {
+ if (evsel->attr.use_clockid == 0 || evsel->attr.clockid != CLOCK_MONOTONIC)
+ return -1;
+ }
+ return 0;
+}
+
+static int
jit_open(struct jit_buf_desc *jd, const char *name)
{
struct jitheader header;
@@ -157,6 +172,14 @@ jit_open(struct jit_buf_desc *jd, const char *name)
goto error;
}
+ /*
+ * validate event is using the correct clockid
+ */
+ if (jit_validate_events(jd->session)) {
+ pr_err("error, jitted code must be sampled with perf record -k 1\n");
+ goto error;
+ }
+
bs = header.total_size - sizeof(header);
if (bs > bsz) {
--
2.5.0
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2016-03-10 10:40 +0100 |
| Subject | [PATCH] perf tool: Build jitdump only on supported archs |
| Message-ID | <rb5ex-4U1-5@gated-at.bofh.it> |
| In reply to | #1351939 |
On Mon, Mar 07, 2016 at 04:44:36PM -0300, Arnaldo Carvalho de Melo wrote:
SNIP
> ----------------------------------------------------------------
> Adrian Hunter (5):
> perf inject: Hit all DSOs for AUX data in JIT and other cases
> perf session: Simplify tool stubs
> perf jit: Let jit_process() return errors
> perf jit: Move clockid validation
> perf tools: Use 64-bit shifts with (TSC) time conversion
hi,
perf build failed for me on s390x because of jitdump feature.
Attached patch tries to enable the build only on supported archs.
I haven't followed this feature too much, so I might have missed
something.. anyway it builds on s390x now ;-) I took the list of
archs from util/genelf.h
thanks,
jirka
---
Make jitdump being built only on architectures
defined in util/genelf.h file.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/arch/arm/Makefile | 1 +
tools/perf/arch/arm64/Makefile | 1 +
tools/perf/arch/powerpc/Makefile | 1 +
tools/perf/arch/x86/Makefile | 1 +
tools/perf/builtin-inject.c | 12 +++++++-----
tools/perf/config/Makefile | 7 +++++++
tools/perf/util/Build | 2 +-
7 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
index 7fbca175099e..18b13518d8d8 100644
--- a/tools/perf/arch/arm/Makefile
+++ b/tools/perf/arch/arm/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/arm64/Makefile b/tools/perf/arch/arm64/Makefile
index 7fbca175099e..18b13518d8d8 100644
--- a/tools/perf/arch/arm64/Makefile
+++ b/tools/perf/arch/arm64/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 9f9cea3478fd..56e05f126ad8 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
index 09ba923debe8..269af2143735 100644
--- a/tools/perf/arch/x86/Makefile
+++ b/tools/perf/arch/x86/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index e219ed458d97..6eb17e24c4cc 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -73,7 +73,7 @@ static int perf_event__repipe_oe_synth(struct perf_tool *tool,
return perf_event__repipe_synth(tool, event);
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
union perf_event *event __maybe_unused,
struct ordered_events *oe __maybe_unused)
@@ -245,7 +245,7 @@ static int perf_event__repipe_mmap(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#if defined(HAVE_JITDUMP)
static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -283,7 +283,7 @@ static int perf_event__repipe_mmap2(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#if defined(HAVE_JITDUMP)
static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -778,7 +778,9 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_BOOLEAN('s', "sched-stat", &inject.sched_stat,
"Merge sched-stat and sched-switch for getting events "
"where and how long tasks slept"),
+#ifdef HAVE_JITDUMP
OPT_BOOLEAN('j', "jit", &inject.jit_mode, "merge jitdump files into perf.data file"),
+#endif
OPT_INCR('v', "verbose", &verbose,
"be more verbose (show build ids, etc)"),
OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
@@ -795,7 +797,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
"perf inject [<options>]",
NULL
};
-#if !defined(HAVE_LIBELF_SUPPORT) || !defined(HAVE_DWARF_SUPPORT)
+#ifndef HAVE_JITDUMP
set_option_nobuild(options, 'j', "jit", "NO_LIBELF=1", true);
#endif
argc = parse_options(argc, argv, options, inject_usage, 0);
@@ -833,7 +835,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
inject.tool.ordered_events = true;
inject.tool.ordering_requires_timestamps = true;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#if defined(HAVE_JITDUMP)
if (inject.jit_mode) {
inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
inject.tool.mmap = perf_event__jit_repipe_mmap;
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index f7aeaf303f5a..eca6a912e8c2 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -328,6 +328,13 @@ ifndef NO_LIBELF
endif # NO_LIBBPF
endif # NO_LIBELF
+ifdef PERF_HAVE_JITDUMP
+ ifndef NO_DWARF
+ $(call detected,CONFIG_JITDUMP)
+ CFLAGS += -DHAVE_JITDUMP
+ endif
+endif
+
ifeq ($(ARCH),powerpc)
ifndef NO_DWARF
CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index f130ce240158..eea25e2424e9 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -108,7 +108,7 @@ libperf-$(CONFIG_ZLIB) += zlib.o
libperf-$(CONFIG_LZMA) += lzma.o
libperf-y += demangle-java.o
-ifdef CONFIG_DWARF
+ifdef CONFIG_JITDUMP
libperf-$(CONFIG_LIBELF) += jitdump.o
libperf-$(CONFIG_LIBELF) += genelf.o
libperf-$(CONFIG_LIBELF) += genelf_debug.o
--
2.4.3
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@redhat.com> |
|---|---|
| Date | 2016-03-10 17:00 +0100 |
| Subject | Re: [PATCH] perf tool: Build jitdump only on supported archs |
| Message-ID | <rbbai-G2-23@gated-at.bofh.it> |
| In reply to | #1354954 |
Em Thu, Mar 10, 2016 at 10:32:29AM +0100, Jiri Olsa escreveu:
> On Mon, Mar 07, 2016 at 04:44:36PM -0300, Arnaldo Carvalho de Melo wrote:
>
> SNIP
>
> > ----------------------------------------------------------------
> > Adrian Hunter (5):
> > perf inject: Hit all DSOs for AUX data in JIT and other cases
> > perf session: Simplify tool stubs
> > perf jit: Let jit_process() return errors
> > perf jit: Move clockid validation
> > perf tools: Use 64-bit shifts with (TSC) time conversion
>
> hi,
> perf build failed for me on s390x because of jitdump feature.
>
> Attached patch tries to enable the build only on supported archs.
>
> I haven't followed this feature too much, so I might have missed
> something.. anyway it builds on s390x now ;-) I took the list of
> archs from util/genelf.h
Hi Jiri,
This may be related to this cset, still not in tip/perf/core:
commit 46dad054a19297af65c417c97cb920aa5bdf7e8c
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon Mar 7 18:48:45 2016 -0300
perf jitdump: DWARF is also needed
Can you check if without this one perf builds on s390?
This patch is to make it build on ubuntu without libdw, i.e. it requires
both libdw and libelf, the way I fixed it may not be the best and
probably we need to fold these two patches before sending to Ingo, since
your patch essentially rewrites my previous patch :-)
Can you please check that?
- Arnaldo
> thanks,
> jirka
>
>
> ---
> Make jitdump being built only on architectures
> defined in util/genelf.h file.
>
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
> tools/perf/arch/arm/Makefile | 1 +
> tools/perf/arch/arm64/Makefile | 1 +
> tools/perf/arch/powerpc/Makefile | 1 +
> tools/perf/arch/x86/Makefile | 1 +
> tools/perf/builtin-inject.c | 12 +++++++-----
> tools/perf/config/Makefile | 7 +++++++
> tools/perf/util/Build | 2 +-
> 7 files changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
> index 7fbca175099e..18b13518d8d8 100644
> --- a/tools/perf/arch/arm/Makefile
> +++ b/tools/perf/arch/arm/Makefile
> @@ -1,3 +1,4 @@
> ifndef NO_DWARF
> PERF_HAVE_DWARF_REGS := 1
> endif
> +PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/arch/arm64/Makefile b/tools/perf/arch/arm64/Makefile
> index 7fbca175099e..18b13518d8d8 100644
> --- a/tools/perf/arch/arm64/Makefile
> +++ b/tools/perf/arch/arm64/Makefile
> @@ -1,3 +1,4 @@
> ifndef NO_DWARF
> PERF_HAVE_DWARF_REGS := 1
> endif
> +PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
> index 9f9cea3478fd..56e05f126ad8 100644
> --- a/tools/perf/arch/powerpc/Makefile
> +++ b/tools/perf/arch/powerpc/Makefile
> @@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
> endif
>
> HAVE_KVM_STAT_SUPPORT := 1
> +PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
> index 09ba923debe8..269af2143735 100644
> --- a/tools/perf/arch/x86/Makefile
> +++ b/tools/perf/arch/x86/Makefile
> @@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
> endif
> HAVE_KVM_STAT_SUPPORT := 1
> PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
> +PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
> index e219ed458d97..6eb17e24c4cc 100644
> --- a/tools/perf/builtin-inject.c
> +++ b/tools/perf/builtin-inject.c
> @@ -73,7 +73,7 @@ static int perf_event__repipe_oe_synth(struct perf_tool *tool,
> return perf_event__repipe_synth(tool, event);
> }
>
> -#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
> +#ifdef HAVE_JITDUMP
> static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
> union perf_event *event __maybe_unused,
> struct ordered_events *oe __maybe_unused)
> @@ -245,7 +245,7 @@ static int perf_event__repipe_mmap(struct perf_tool *tool,
> return err;
> }
>
> -#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
> +#if defined(HAVE_JITDUMP)
> static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
> union perf_event *event,
> struct perf_sample *sample,
> @@ -283,7 +283,7 @@ static int perf_event__repipe_mmap2(struct perf_tool *tool,
> return err;
> }
>
> -#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
> +#if defined(HAVE_JITDUMP)
> static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
> union perf_event *event,
> struct perf_sample *sample,
> @@ -778,7 +778,9 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
> OPT_BOOLEAN('s', "sched-stat", &inject.sched_stat,
> "Merge sched-stat and sched-switch for getting events "
> "where and how long tasks slept"),
> +#ifdef HAVE_JITDUMP
> OPT_BOOLEAN('j', "jit", &inject.jit_mode, "merge jitdump files into perf.data file"),
> +#endif
> OPT_INCR('v', "verbose", &verbose,
> "be more verbose (show build ids, etc)"),
> OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
> @@ -795,7 +797,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
> "perf inject [<options>]",
> NULL
> };
> -#if !defined(HAVE_LIBELF_SUPPORT) || !defined(HAVE_DWARF_SUPPORT)
> +#ifndef HAVE_JITDUMP
> set_option_nobuild(options, 'j', "jit", "NO_LIBELF=1", true);
> #endif
> argc = parse_options(argc, argv, options, inject_usage, 0);
> @@ -833,7 +835,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
> inject.tool.ordered_events = true;
> inject.tool.ordering_requires_timestamps = true;
> }
> -#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
> +#if defined(HAVE_JITDUMP)
> if (inject.jit_mode) {
> inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
> inject.tool.mmap = perf_event__jit_repipe_mmap;
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index f7aeaf303f5a..eca6a912e8c2 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -328,6 +328,13 @@ ifndef NO_LIBELF
> endif # NO_LIBBPF
> endif # NO_LIBELF
>
> +ifdef PERF_HAVE_JITDUMP
> + ifndef NO_DWARF
> + $(call detected,CONFIG_JITDUMP)
> + CFLAGS += -DHAVE_JITDUMP
> + endif
> +endif
> +
> ifeq ($(ARCH),powerpc)
> ifndef NO_DWARF
> CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> index f130ce240158..eea25e2424e9 100644
> --- a/tools/perf/util/Build
> +++ b/tools/perf/util/Build
> @@ -108,7 +108,7 @@ libperf-$(CONFIG_ZLIB) += zlib.o
> libperf-$(CONFIG_LZMA) += lzma.o
> libperf-y += demangle-java.o
>
> -ifdef CONFIG_DWARF
> +ifdef CONFIG_JITDUMP
> libperf-$(CONFIG_LIBELF) += jitdump.o
> libperf-$(CONFIG_LIBELF) += genelf.o
> libperf-$(CONFIG_LIBELF) += genelf_debug.o
> --
> 2.4.3
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2016-03-10 17:10 +0100 |
| Subject | Re: [PATCH] perf tool: Build jitdump only on supported archs |
| Message-ID | <rbbjY-119-9@gated-at.bofh.it> |
| In reply to | #1355238 |
On Thu, Mar 10, 2016 at 12:57:00PM -0300, Arnaldo Carvalho de Melo wrote: > Em Thu, Mar 10, 2016 at 10:32:29AM +0100, Jiri Olsa escreveu: > > On Mon, Mar 07, 2016 at 04:44:36PM -0300, Arnaldo Carvalho de Melo wrote: > > > > SNIP > > > > > ---------------------------------------------------------------- > > > Adrian Hunter (5): > > > perf inject: Hit all DSOs for AUX data in JIT and other cases > > > perf session: Simplify tool stubs > > > perf jit: Let jit_process() return errors > > > perf jit: Move clockid validation > > > perf tools: Use 64-bit shifts with (TSC) time conversion > > > > hi, > > perf build failed for me on s390x because of jitdump feature. > > > > Attached patch tries to enable the build only on supported archs. > > > > I haven't followed this feature too much, so I might have missed > > something.. anyway it builds on s390x now ;-) I took the list of > > archs from util/genelf.h > > Hi Jiri, > > This may be related to this cset, still not in tip/perf/core: > > commit 46dad054a19297af65c417c97cb920aa5bdf7e8c > Author: Arnaldo Carvalho de Melo <acme@redhat.com> > Date: Mon Mar 7 18:48:45 2016 -0300 > > perf jitdump: DWARF is also needed > > Can you check if without this one perf builds on s390? > > This patch is to make it build on ubuntu without libdw, i.e. it requires > both libdw and libelf, the way I fixed it may not be the best and > probably we need to fold these two patches before sending to Ingo, since > your patch essentially rewrites my previous patch :-) > > Can you please check that? well there's following line in util/genelf.h: #else #error "unsupported architecture" #endif which makes the build fail on unssuported arch, even without your patch: CC util/jitdump.o In file included from util/jitdump.c:23: util/genelf.h:41:2: error: #error "unsupported architecture" util/genelf.h:44:5: error: "GEN_ELF_CLASS" is not defined mv: cannot stat `util/.jitdump.o.tmp': No such file or directory make[3]: *** [util/jitdump.o] Error 1 jirka
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-03-10 17:20 +0100 |
| Subject | Re: [PATCH] perf tool: Build jitdump only on supported archs |
| Message-ID | <rbbtD-16X-3@gated-at.bofh.it> |
| In reply to | #1355240 |
Em Thu, Mar 10, 2016 at 05:04:36PM +0100, Jiri Olsa escreveu: > On Thu, Mar 10, 2016 at 12:57:00PM -0300, Arnaldo Carvalho de Melo wrote: > > Em Thu, Mar 10, 2016 at 10:32:29AM +0100, Jiri Olsa escreveu: > > > On Mon, Mar 07, 2016 at 04:44:36PM -0300, Arnaldo Carvalho de Melo wrote: > > > > > > SNIP > > > > > > > ---------------------------------------------------------------- > > > > Adrian Hunter (5): > > > > perf inject: Hit all DSOs for AUX data in JIT and other cases > > > > perf session: Simplify tool stubs > > > > perf jit: Let jit_process() return errors > > > > perf jit: Move clockid validation > > > > perf tools: Use 64-bit shifts with (TSC) time conversion > > > > > > hi, > > > perf build failed for me on s390x because of jitdump feature. > > > > > > Attached patch tries to enable the build only on supported archs. > > > > > > I haven't followed this feature too much, so I might have missed > > > something.. anyway it builds on s390x now ;-) I took the list of > > > archs from util/genelf.h > > > > Hi Jiri, > > > > This may be related to this cset, still not in tip/perf/core: > > > > commit 46dad054a19297af65c417c97cb920aa5bdf7e8c > > Author: Arnaldo Carvalho de Melo <acme@redhat.com> > > Date: Mon Mar 7 18:48:45 2016 -0300 > > > > perf jitdump: DWARF is also needed > > > > Can you check if without this one perf builds on s390? > > > > This patch is to make it build on ubuntu without libdw, i.e. it requires > > both libdw and libelf, the way I fixed it may not be the best and > > probably we need to fold these two patches before sending to Ingo, since > > your patch essentially rewrites my previous patch :-) > > > > Can you please check that? > > well there's following line in util/genelf.h: > > #else > #error "unsupported architecture" > #endif > > which makes the build fail on unssuported arch, > even without your patch: Ok, so I'll just apply your patch, thanks for clarifying. - Arnaldo > CC util/jitdump.o > In file included from util/jitdump.c:23: > util/genelf.h:41:2: error: #error "unsupported architecture" > util/genelf.h:44:5: error: "GEN_ELF_CLASS" is not defined > mv: cannot stat `util/.jitdump.o.tmp': No such file or directory > make[3]: *** [util/jitdump.o] Error 1 > > > jirka
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2016-03-10 17:50 +0100 |
| Subject | [PATCHv2] perf tool: Build jitdump only on supported archs |
| Message-ID | <rbbWG-1kz-11@gated-at.bofh.it> |
| In reply to | #1355244 |
On Thu, Mar 10, 2016 at 01:13:00PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Mar 10, 2016 at 05:04:36PM +0100, Jiri Olsa escreveu:
> > On Thu, Mar 10, 2016 at 12:57:00PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Thu, Mar 10, 2016 at 10:32:29AM +0100, Jiri Olsa escreveu:
> > > > On Mon, Mar 07, 2016 at 04:44:36PM -0300, Arnaldo Carvalho de Melo wrote:
> > > >
> > > > SNIP
> > > >
> > > > > ----------------------------------------------------------------
> > > > > Adrian Hunter (5):
> > > > > perf inject: Hit all DSOs for AUX data in JIT and other cases
> > > > > perf session: Simplify tool stubs
> > > > > perf jit: Let jit_process() return errors
> > > > > perf jit: Move clockid validation
> > > > > perf tools: Use 64-bit shifts with (TSC) time conversion
> > > >
> > > > hi,
> > > > perf build failed for me on s390x because of jitdump feature.
> > > >
> > > > Attached patch tries to enable the build only on supported archs.
> > > >
> > > > I haven't followed this feature too much, so I might have missed
> > > > something.. anyway it builds on s390x now ;-) I took the list of
> > > > archs from util/genelf.h
> > >
> > > Hi Jiri,
> > >
> > > This may be related to this cset, still not in tip/perf/core:
> > >
> > > commit 46dad054a19297af65c417c97cb920aa5bdf7e8c
> > > Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > Date: Mon Mar 7 18:48:45 2016 -0300
> > >
> > > perf jitdump: DWARF is also needed
> > >
> > > Can you check if without this one perf builds on s390?
> > >
> > > This patch is to make it build on ubuntu without libdw, i.e. it requires
> > > both libdw and libelf, the way I fixed it may not be the best and
> > > probably we need to fold these two patches before sending to Ingo, since
> > > your patch essentially rewrites my previous patch :-)
> > >
> > > Can you please check that?
> >
> > well there's following line in util/genelf.h:
> >
> > #else
> > #error "unsupported architecture"
> > #endif
> >
> > which makes the build fail on unssuported arch,
> > even without your patch:
>
> Ok, so I'll just apply your patch, thanks for clarifying.
>
oops, just consolidated #if defined into #ifdef, v2 attached
thanks,
jirka
---
Make jitdump being built only on architectures
defined in util/genelf.h file.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/arch/arm/Makefile | 1 +
tools/perf/arch/arm64/Makefile | 1 +
tools/perf/arch/powerpc/Makefile | 1 +
tools/perf/arch/x86/Makefile | 1 +
tools/perf/builtin-inject.c | 12 +++++++-----
tools/perf/config/Makefile | 7 +++++++
tools/perf/util/Build | 2 +-
7 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
index 7fbca175099e..18b13518d8d8 100644
--- a/tools/perf/arch/arm/Makefile
+++ b/tools/perf/arch/arm/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/arm64/Makefile b/tools/perf/arch/arm64/Makefile
index 7fbca175099e..18b13518d8d8 100644
--- a/tools/perf/arch/arm64/Makefile
+++ b/tools/perf/arch/arm64/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 9f9cea3478fd..56e05f126ad8 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
index 09ba923debe8..269af2143735 100644
--- a/tools/perf/arch/x86/Makefile
+++ b/tools/perf/arch/x86/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index e219ed458d97..7fa68663ed72 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -73,7 +73,7 @@ static int perf_event__repipe_oe_synth(struct perf_tool *tool,
return perf_event__repipe_synth(tool, event);
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
union perf_event *event __maybe_unused,
struct ordered_events *oe __maybe_unused)
@@ -245,7 +245,7 @@ static int perf_event__repipe_mmap(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -283,7 +283,7 @@ static int perf_event__repipe_mmap2(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -778,7 +778,9 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_BOOLEAN('s', "sched-stat", &inject.sched_stat,
"Merge sched-stat and sched-switch for getting events "
"where and how long tasks slept"),
+#ifdef HAVE_JITDUMP
OPT_BOOLEAN('j', "jit", &inject.jit_mode, "merge jitdump files into perf.data file"),
+#endif
OPT_INCR('v', "verbose", &verbose,
"be more verbose (show build ids, etc)"),
OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
@@ -795,7 +797,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
"perf inject [<options>]",
NULL
};
-#if !defined(HAVE_LIBELF_SUPPORT) || !defined(HAVE_DWARF_SUPPORT)
+#ifndef HAVE_JITDUMP
set_option_nobuild(options, 'j', "jit", "NO_LIBELF=1", true);
#endif
argc = parse_options(argc, argv, options, inject_usage, 0);
@@ -833,7 +835,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
inject.tool.ordered_events = true;
inject.tool.ordering_requires_timestamps = true;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
if (inject.jit_mode) {
inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
inject.tool.mmap = perf_event__jit_repipe_mmap;
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index f7aeaf303f5a..eca6a912e8c2 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -328,6 +328,13 @@ ifndef NO_LIBELF
endif # NO_LIBBPF
endif # NO_LIBELF
+ifdef PERF_HAVE_JITDUMP
+ ifndef NO_DWARF
+ $(call detected,CONFIG_JITDUMP)
+ CFLAGS += -DHAVE_JITDUMP
+ endif
+endif
+
ifeq ($(ARCH),powerpc)
ifndef NO_DWARF
CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index f130ce240158..eea25e2424e9 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -108,7 +108,7 @@ libperf-$(CONFIG_ZLIB) += zlib.o
libperf-$(CONFIG_LZMA) += lzma.o
libperf-y += demangle-java.o
-ifdef CONFIG_DWARF
+ifdef CONFIG_JITDUMP
libperf-$(CONFIG_LIBELF) += jitdump.o
libperf-$(CONFIG_LIBELF) += genelf.o
libperf-$(CONFIG_LIBELF) += genelf_debug.o
--
2.4.3
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Jiri Olsa <tipbot@zytor.com> |
|---|---|
| Date | 2016-03-11 09:50 +0100 |
| Subject | [tip:perf/core] perf jitdump: Build only on supported archs |
| Message-ID | <rbqVJ-3vt-21@gated-at.bofh.it> |
| In reply to | #1355262 |
Commit-ID: e12b202f8fb9b62a3997cad8e93401f85293390c
Gitweb: http://git.kernel.org/tip/e12b202f8fb9b62a3997cad8e93401f85293390c
Author: Jiri Olsa <jolsa@redhat.com>
AuthorDate: Thu, 10 Mar 2016 17:41:13 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 10 Mar 2016 16:33:19 -0300
perf jitdump: Build only on supported archs
Build jitdump only on architectures defined in util/genelf.h file, to avoid
breaking the build on such arches.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Davidlohr Bueso <dbueso@suse.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Mel Gorman <mgorman@suse.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20160310164113.GA11357@krava.redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/arm/Makefile | 1 +
tools/perf/arch/arm64/Makefile | 1 +
tools/perf/arch/powerpc/Makefile | 1 +
tools/perf/arch/x86/Makefile | 1 +
tools/perf/builtin-inject.c | 12 +++++++-----
tools/perf/config/Makefile | 7 +++++++
tools/perf/util/Build | 2 +-
7 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
index 7fbca17..18b1351 100644
--- a/tools/perf/arch/arm/Makefile
+++ b/tools/perf/arch/arm/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/arm64/Makefile b/tools/perf/arch/arm64/Makefile
index 7fbca17..18b1351 100644
--- a/tools/perf/arch/arm64/Makefile
+++ b/tools/perf/arch/arm64/Makefile
@@ -1,3 +1,4 @@
ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
endif
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 9f9cea3..56e05f1 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
index 09ba923..269af21 100644
--- a/tools/perf/arch/x86/Makefile
+++ b/tools/perf/arch/x86/Makefile
@@ -3,3 +3,4 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
+PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index e219ed4..7fa6866 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -73,7 +73,7 @@ static int perf_event__repipe_oe_synth(struct perf_tool *tool,
return perf_event__repipe_synth(tool, event);
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__drop_oe(struct perf_tool *tool __maybe_unused,
union perf_event *event __maybe_unused,
struct ordered_events *oe __maybe_unused)
@@ -245,7 +245,7 @@ static int perf_event__repipe_mmap(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -283,7 +283,7 @@ static int perf_event__repipe_mmap2(struct perf_tool *tool,
return err;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
union perf_event *event,
struct perf_sample *sample,
@@ -778,7 +778,9 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_BOOLEAN('s', "sched-stat", &inject.sched_stat,
"Merge sched-stat and sched-switch for getting events "
"where and how long tasks slept"),
+#ifdef HAVE_JITDUMP
OPT_BOOLEAN('j', "jit", &inject.jit_mode, "merge jitdump files into perf.data file"),
+#endif
OPT_INCR('v', "verbose", &verbose,
"be more verbose (show build ids, etc)"),
OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name, "file",
@@ -795,7 +797,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
"perf inject [<options>]",
NULL
};
-#if !defined(HAVE_LIBELF_SUPPORT) || !defined(HAVE_DWARF_SUPPORT)
+#ifndef HAVE_JITDUMP
set_option_nobuild(options, 'j', "jit", "NO_LIBELF=1", true);
#endif
argc = parse_options(argc, argv, options, inject_usage, 0);
@@ -833,7 +835,7 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
inject.tool.ordered_events = true;
inject.tool.ordering_requires_timestamps = true;
}
-#if defined(HAVE_LIBELF_SUPPORT) && defined(HAVE_DWARF_SUPPORT)
+#ifdef HAVE_JITDUMP
if (inject.jit_mode) {
inject.tool.mmap2 = perf_event__jit_repipe_mmap2;
inject.tool.mmap = perf_event__jit_repipe_mmap;
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index f7aeaf3..eca6a91 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -328,6 +328,13 @@ ifndef NO_LIBELF
endif # NO_LIBBPF
endif # NO_LIBELF
+ifdef PERF_HAVE_JITDUMP
+ ifndef NO_DWARF
+ $(call detected,CONFIG_JITDUMP)
+ CFLAGS += -DHAVE_JITDUMP
+ endif
+endif
+
ifeq ($(ARCH),powerpc)
ifndef NO_DWARF
CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index f130ce2..eea25e2 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -108,7 +108,7 @@ libperf-$(CONFIG_ZLIB) += zlib.o
libperf-$(CONFIG_LZMA) += lzma.o
libperf-y += demangle-java.o
-ifdef CONFIG_DWARF
+ifdef CONFIG_JITDUMP
libperf-$(CONFIG_LIBELF) += jitdump.o
libperf-$(CONFIG_LIBELF) += genelf.o
libperf-$(CONFIG_LIBELF) += genelf_debug.o
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web