Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1621964 > unrolled thread
| Started by | Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
|---|---|
| First post | 2017-04-12 12:00 +0200 |
| Last post | 2017-04-12 14:00 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
perf jvmti: unconditionally links against -lelf Alexey Brodkin <Alexey.Brodkin@synopsys.com> - 2017-04-12 12:00 +0200
Re: perf jvmti: unconditionally links against -lelf Jiri Olsa <jolsa@redhat.com> - 2017-04-12 12:30 +0200
Re: perf jvmti: unconditionally links against -lelf Alexey Brodkin <Alexey.Brodkin@synopsys.com> - 2017-04-12 14:00 +0200
| From | Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
|---|---|
| Date | 2017-04-12 12:00 +0200 |
| Subject | perf jvmti: unconditionally links against -lelf |
| Message-ID | <tvnea-2SU-13@gated-at.bofh.it> |
Hi Jiri,
Just tried to cross-compile perf with pretty bare-minimal toolchain
which has no libelf installed for the target (for the record I used
SNPS ARC pre-built arc-2016.09 tools) like that:
--------------->8------------
make NO_LIBELF=1
--------------->8------------
And got the following build failure:
--------------->8------------
LINK libperf-jvmti.so
.../2016.09-uclibc-archs/bin/../lib/gcc/arc-snps-linux-uclibc/6.2.1/../../../../arc-snps-linux-uclibc/bin/ld: cannot find -lelf
--------------->8------------
First I was surprised because I intentionally disabled usage of libelf
but after some grepping figured out jvmti is linked against libelf
regardless any settings, see:
--------------->8------------
$(OUTPUT)$(LIBJVMTI): $(LIBJVMTI_IN)
$(QUIET_LINK)$(CC) -shared -Wl,-soname -Wl,$(LIBJVMTI) -o $@ $< -lelf -lrt
endif
--------------->8------------
This comes from commit d4dfdf00d43e ("perf jvmti: Plug compilation into perf build").
I'm not really sure what could be the best solution to the problem I see.
If libelf is a real must for jvmti then probably we may force set NO_JVMTI=1
if NO_LIBELF=1 is passed on the command line.
At least the following builds perf for me without issues:
--------------->8------------
make NO_LIBELF=1 NO_JVMTI=1
--------------->8------------
Regards,
Alexey
[toc] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2017-04-12 12:30 +0200 |
| Message-ID | <tvnHb-3hy-7@gated-at.bofh.it> |
| In reply to | #1621964 |
On Wed, Apr 12, 2017 at 09:58:26AM +0000, Alexey Brodkin wrote:
> Hi Jiri,
>
> Just tried to cross-compile perf with pretty bare-minimal toolchain
> which has no libelf installed for the target (for the record I used
> SNPS ARC pre-built arc-2016.09 tools) like that:
> --------------->8------------
> make NO_LIBELF=1
> --------------->8------------
>
> And got the following build failure:
> --------------->8------------
> LINK libperf-jvmti.so
> .../2016.09-uclibc-archs/bin/../lib/gcc/arc-snps-linux-uclibc/6.2.1/../../../../arc-snps-linux-uclibc/bin/ld: cannot find -lelf
> --------------->8------------
>
> First I was surprised because I intentionally disabled usage of libelf
> but after some grepping figured out jvmti is linked against libelf
> regardless any settings, see:
> --------------->8------------
> $(OUTPUT)$(LIBJVMTI): $(LIBJVMTI_IN)
> $(QUIET_LINK)$(CC) -shared -Wl,-soname -Wl,$(LIBJVMTI) -o $@ $< -lelf -lrt
> endif
> --------------->8------------
>
> This comes from commit d4dfdf00d43e ("perf jvmti: Plug compilation into perf build").
>
> I'm not really sure what could be the best solution to the problem I see.
> If libelf is a real must for jvmti then probably we may force set NO_JVMTI=1
> if NO_LIBELF=1 is passed on the command line.
>
> At least the following builds perf for me without issues:
> --------------->8------------
> make NO_LIBELF=1 NO_JVMTI=1
> --------------->8------------
hi,
incidently, David just posted patch for this ;-)
http://marc.info/?l=linux-kernel&m=149197980107421&w=2
should be merged soon
jirka
[toc] | [prev] | [next] | [standalone]
| From | Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
|---|---|
| Date | 2017-04-12 14:00 +0200 |
| Message-ID | <tvp6h-3Zp-3@gated-at.bofh.it> |
| In reply to | #1621971 |
Hi Jiri,
On Wed, 2017-04-12 at 12:19 +0200, Jiri Olsa wrote:
> On Wed, Apr 12, 2017 at 09:58:26AM +0000, Alexey Brodkin wrote:
> >
> > Hi Jiri,
> >
> > Just tried to cross-compile perf with pretty bare-minimal toolchain
> > which has no libelf installed for the target (for the record I used
> > SNPS ARC pre-built arc-2016.09 tools) like that:
> > --------------->8------------
> > make NO_LIBELF=1
> > --------------->8------------
> >
> > And got the following build failure:
> > --------------->8------------
> > LINK libperf-jvmti.so
> > .../2016.09-uclibc-archs/bin/../lib/gcc/arc-snps-linux-uclibc/6.2.1/../../../../arc-snps-linux-uclibc/bin/ld: cannot find -lelf
> > --------------->8------------
> >
> > First I was surprised because I intentionally disabled usage of libelf
> > but after some grepping figured out jvmti is linked against libelf
> > regardless any settings, see:
> > --------------->8------------
> > $(OUTPUT)$(LIBJVMTI): $(LIBJVMTI_IN)
> > $(QUIET_LINK)$(CC) -shared -Wl,-soname -Wl,$(LIBJVMTI) -o $@ $< -lelf -lrt
> > endif
> > --------------->8------------
> >
> > This comes from commit d4dfdf00d43e ("perf jvmti: Plug compilation into perf build").
> >
> > I'm not really sure what could be the best solution to the problem I see.
> > If libelf is a real must for jvmti then probably we may force set NO_JVMTI=1
> > if NO_LIBELF=1 is passed on the command line.
> >
> > At least the following builds perf for me without issues:
> > --------------->8------------
> > make NO_LIBELF=1 NO_JVMTI=1
> > --------------->8------------
>
> hi,
> incidently, David just posted patch for this ;-)
So good to know somebody has already fixed my problem :)
Thanks for letting me know!
-Alexey
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web