Re: [PATCH tracing/kprobes v3 6/7] perf: Add perf probe subcommandfor kprobe-event setup helper

From: Masami Hiramatsu
Date: Mon Oct 12 2009 - 15:30:05 EST


Ingo Molnar wrote:

* Frederic Weisbecker<fweisbec@xxxxxxxxx> wrote:

On Wed, Oct 07, 2009 at 06:28:23PM -0400, Masami Hiramatsu wrote:
Add perf probe subcommand for kprobe-event setup helper to perf command.
This allows user to define kprobe events by C expressions (C line numbers,
C function names, and C local variables).



My libdwarf.h and dwarf.h are available through<libdwarf.h> and
<dwarf.h>, these are in /usr/include

But even by fixing the include path in the makefile and probe-finder.h,
I get the following build error:

util/probe-finder.c: In function âdie_get_entrypcâ:
util/probe-finder.c:222: erreur: âDwarf_Rangesâ undeclared (first use in this function)
util/probe-finder.c:222: erreur: (Each undeclared identifier is reported only once
util/probe-finder.c:222: erreur: for each function it appears in.)
util/probe-finder.c:222: erreur: ârangesâ undeclared (first use in this function)
cc1: warnings being treated as errors
util/probe-finder.c:223: erreur: ISO C90 forbids mixed declarations and code
util/probe-finder.c:247: erreur: implicit declaration of function âdwarf_get_rangesâ
util/probe-finder.c:247: erreur: nested extern declaration of âdwarf_get_rangesâ
util/probe-finder.c:251: erreur: implicit declaration of function âdwarf_ranges_deallocâ
util/probe-finder.c:251: erreur: nested extern declaration of âdwarf_ranges_deallocâ
make: *** [util/probe-finder.o] Erreur 1


I remember we talked about that before, but I don't remember well why it happened.
This is because of a libdwarf version or something, right?

Yeah, you may use an old version.


Which one should I pick? Mine is:

libdwarf.h

$Revision: #9 $ $Date: 2008/01/17 $

AFAICS, the revision tag is not updated :(
I'm usually using libdwarf later than 20090324, and dwarf_get_ranges()
was introduced from 20081231.


if it's possible to still have a single set of APIs it would be nice to
auto-detect and massage all these libdwarf versions into a single
backend within perf.

Sure, it's not so hard to check APIs.

Thank you,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

--
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/