From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Maciej Debski <maciejd@google.com>
Cc: Stephane Eranian <eranian@google.com>,
linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Anton Blanchard <anton@ozlabs.org>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [PATCH 2/9] perf/jit: enable jitdump support without dwarf
Date: Thu, 13 Oct 2016 16:44:15 -0300 [thread overview]
Message-ID: <20161013194415.GK23873@kernel.org> (raw)
In-Reply-To: <20161013190311.GJ23873@kernel.org>
Em Thu, Oct 13, 2016 at 04:03:11PM -0300, Arnaldo Carvalho de Melo escreveu:
> 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]$
Ok, now this cset is bisected as causing this problem when built on Alpine Linux 3.4:
CC /tmp/build/perf/util/demangle-java.o
CC /tmp/build/perf/util/demangle-rust.o
CC /tmp/build/perf/util/jitdump.o
CC /tmp/build/perf/util/genelf.o
util/jitdump.c: In function 'jit_process':
util/jitdump.c:622:3: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]
fprintf(stderr, "injected: %s (%d)\n", path, ret);
^
util/jitdump.c:584:6: note: 'ret' was declared here
int ret;
^
FLEX /tmp/build/perf/util/parse-events-flex.c
/ $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/5.3.0/lto-wrapper
Target: x86_64-alpine-linux-musl
Configured with: /home/buildozer/aports/main/gcc/src/gcc-5.3.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --with-pkgversion='Alpine 5.3.0' --enable-checking=release --disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-symvers --enable-__cxa_atexit --enable-esp --enable-cloog-backend --enable-languages=c,c++,objc,java,fortran,ada --disable-libssp --disable-libmudflap --disable-libsanitizer --enable-shared --enable-threads --enable-tls --with-system-zlib
Thread model: posix
gcc version 5.3.0 (Alpine 5.3.0)
/ $
Investigating...
- Arnaldo
next prev parent reply other threads:[~2016-10-13 19:44 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-13 10:59 [PATCH 0/9] perf/jit: various improvements Stephane Eranian
2016-10-13 10:59 ` [PATCH 1/9] perf/jit: improve error messages from JVMTI Stephane Eranian
2016-10-13 20:05 ` Nilay Vaish
2016-10-14 11:13 ` Arnaldo Carvalho de Melo
2016-10-14 12:57 ` Stephane Eranian
2016-10-14 15:20 ` Arnaldo Carvalho de Melo
2016-10-17 13:52 ` Stephane Eranian
2016-10-24 18:58 ` [tip:perf/core] perf jit: Improve " tip-bot for Stephane Eranian
2016-10-13 10:59 ` [PATCH 2/9] perf/jit: enable jitdump support without dwarf Stephane Eranian
2016-10-13 18:16 ` Arnaldo Carvalho de Melo
2016-10-13 18:37 ` Arnaldo Carvalho de Melo
2016-10-13 18:51 ` Arnaldo Carvalho de Melo
2016-10-13 19:03 ` Arnaldo Carvalho de Melo
2016-10-13 19:44 ` Arnaldo Carvalho de Melo [this message]
2016-10-24 18:58 ` [tip:perf/core] perf jit: Enable " tip-bot for Maciej Debski
2016-10-13 10:59 ` [PATCH 3/9] perf/jit: remove unecessary padding in jitdump file Stephane Eranian
2016-10-24 18:59 ` [tip:perf/core] perf jit: Remove " tip-bot for Stephane Eranian
2016-10-13 10:59 ` [PATCH 4/9] perf/jit: make perf skip unknown records Stephane Eranian
2016-10-24 18:59 ` [tip:perf/core] perf jit: Make " tip-bot for Stefano Sanfilippo
2016-10-13 10:59 ` [PATCH 5/9] perf/jit: do not assume pgoff is zero Stephane Eranian
2016-10-24 19:00 ` [tip:perf/core] perf jit: Do " tip-bot for Stefano Sanfilippo
2016-10-13 10:59 ` [PATCH 6/9] perf/jit: add unwinding support Stephane Eranian
2016-10-24 19:00 ` [tip:perf/core] perf jit: Add " tip-bot for Stefano Sanfilippo
2016-10-13 10:59 ` [PATCH 7/9] perf/jit: generate .eh_frame/.eh_frame_hdr in DSO Stephane Eranian
2016-10-24 19:01 ` [tip:perf/core] perf jit: Generate " tip-bot for Stefano Sanfilippo
2016-10-13 10:59 ` [PATCH 8/9] perf/jit: Check JITHEADER_VERSION Stephane Eranian
2016-10-24 19:01 ` [tip:perf/core] perf jit: " tip-bot for Stefano Sanfilippo
2016-10-13 10:59 ` [PATCH 9/9] perf/jit: add jitdump format specification document Stephane Eranian
2016-10-24 19:02 ` [tip:perf/core] perf jit: Add " tip-bot for Stephane Eranian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161013194415.GK23873@kernel.org \
--to=acme@kernel.org \
--cc=anton@ozlabs.org \
--cc=eranian@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maciejd@google.com \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.