Re: [tip:perf/core] perf probe: Don't compile CFI related code ifelfutils is old

From: acme@xxxxxxxxxx
Date: Tue May 18 2010 - 10:04:26 EST


Em Tue, May 18, 2010 at 11:39:58AM +0200, Stephane Eranian escreveu:
> On Tue, May 18, 2010 at 11:35 AM, Robert Richter <robert.richter@xxxxxxx> wrote:
> > On 17.05.10 21:57:38, tip-bot for Masami Hiramatsu wrote:
> >> Commit-ID:  7752f1b096e13991f20b59fd11ba73da3809d93c
> >> Gitweb:     http://git.kernel.org/tip/7752f1b096e13991f20b59fd11ba73da3809d93c
> >> Author:     Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> >> AuthorDate: Mon, 10 May 2010 13:12:07 -0400
> >> Committer:  Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> >> CommitDate: Mon, 17 May 2010 22:13:51 -0300

> >> perf probe: Don't compile CFI related code if elfutils is old
> >> Check elfutils version, and if it is old don't compile CFI analysis code. This
> >> allows to compile perf with old elfutils.

> >> Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> >> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx>
> >> Reported-by: Robert Richter <robert.richter@xxxxxxx>
> >> Cc: Ingo Molnar <mingo@xxxxxxx>
> >> LKML-Reference: <20100510171207.26029.97604.stgit@xxxxxxxxxxxxxxxxxxxxxxx>
> >> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

> > I think this patch is not needed as we came up with an alternative
> > solution with commit:

> >  6b3c4ef perf probe: Check older elfutils and set NO_DWARF

Yeah, that was confusing, my understanding was that 6b3c4ef superseeded
7752f1b, but it was needed in addition to it, as can be seen by
Stephane's report.

6b3c4ef worked for you because it used the heavy hammer, by not noticing
the _ELFUTILS_PREREQ macro it decided that the elfutils version
installed was way too old, so disable everything related to it, i.e.
perf probe will work just with /proc/kallsyms. I.e. your version of
elfutils was <= 0.138, that is when the PREREQ macro was introduced.

But Stephanes is > 0.138 _but_ < 0.142, that is when Dwarf_CFI appeared,
so he can use the PREREQ macro to build only removing the code that
depends on Dwarf_CFI being available.

> But I am compiling tip, so this patch is in and I still got the problem.
> It is because the test program does not check for Dwarf_CFI so it
> assumes you have the right version of libdw.
>
> If I understand Masami's patch, you can still compile dwarf support
> in despite the lack of Dwarf_CFI.

Right.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/