Re: [PATCH 2/9] perf/jit: enable jitdump support without dwarf

From: Arnaldo Carvalho de Melo
Date: Thu Oct 13 2016 - 14:51:53 EST


Em Thu, Oct 13, 2016 at 03:37:42PM -0300, Arnaldo Carvalho de Melo escreveu:
> I'm trying to figure this out...

So, building with:

make -C tools/perf LDFLAGS=-static O=/tmp/build/perf install-bin

I get:

[acme@jouet linux]$ grep libelf /tmp/build/perf/FEATURE-DUMP
feature-libelf=0
feature-libelf-getphdrnum=0
feature-libelf-gelf_getnote=0
feature-libelf-getshdrstrndx=0
feature-libelf-mmap=0
[acme@jouet linux]$

And jitdump is only linked if:

[acme@jouet linux]$ grep jitdump tools/perf/*/Build
tools/perf/util/Build:libperf-$(CONFIG_LIBELF) += jitdump.o
[acme@jouet linux]$

But:

#ifdef HAVE_JITDUMP
static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
.
.
.
ret = jit_process(inject->session, &inject->output, machine,
event->mmap.filename, sample->pid, &n);
.
.
.
#endif

So we need:

[acme@jouet linux]$ git diff
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 8cfc310d4358..cffdd9cf3ebf 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -366,8 +366,10 @@ ifndef NO_SDT
endif

ifdef PERF_HAVE_JITDUMP
+ ifndef NO_LIBELF
$(call detected,CONFIG_JITDUMP)
CFLAGS += -DHAVE_JITDUMP
+ endif
endif

ifeq ($(ARCH),powerpc)
[acme@jouet linux]$

To get that fixed.

Please let me know if this suits your needs.

I'll now try building with elfutils static libraries to see if in that case it
all gets linked.

- Arnaldo