Em Thu, Oct 13, 2016 at 03:51:35PM -0300, Arnaldo Carvalho de Melo escreveu: > 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.
After installing these packages, on fedora, i.e. installing what is needed to statically link against libelf: elfutils-devel-static elfutils-libelf-devel-static zlib-static Then it all works, libelf is statically linked and we also statically link the jitdump code: $ make -C tools/perf LDFLAGS=-static O=/tmp/build/perf install-bin $ grep libelf /tmp/build/perf/FEATURE-DUMP feature-libelf=1 feature-libelf-getphdrnum=1 feature-libelf-gelf_getnote=1 feature-libelf-getshdrstrndx=1 feature-libelf-mmap=1 $ And: [acme@jouet linux]$ size /tmp/build/perf/perf text data bss dec hex filename 4478822 581702 23919240 28979764 1ba3234 /tmp/build/perf/perf [acme@jouet linux]$ [acme@jouet linux]$ file /tmp/build/perf/perf /tmp/build/perf/perf: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=c2950590a0f24d76baa0ce4896414e5d523fefba, not stripped [acme@jouet linux]$ [acme@jouet linux]$ nm /tmp/build/perf/perf | grep jit 00000000005007f0 T jit_process 0000000000501920 T jit_write_elf 0000000000431a50 t perf_event__jit_repipe_mmap 0000000000431b20 t perf_event__jit_repipe_mmap2 [acme@jouet linux]$ - Arnaldo