This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
RE: missing entrypc dwarf line record
- From: "Stone, Joshua I" <joshua dot i dot stone at intel dot com>
- To: "Frank Ch. Eigler" <fche at redhat dot com>, "David Wilder" <dwilder at us dot ibm dot com>
- Cc: <systemtap at sources dot redhat dot com>
- Date: Fri, 15 Sep 2006 16:08:53 -0700
- Subject: RE: missing entrypc dwarf line record
On Friday, September 15, 2006 10:47 AM, Frank Ch. Eigler wrote:
> Hi -
>
> On Fri, Sep 15, 2006 at 11:16:09AM -0700, David Wilder wrote:
>> [...]
>>>> jprobe_return is black-listed but it is not helping.. [...]
>> [...]
>> Humm ok. I am seeing the problem in semok/twenty.stp run by make all
>> check. The test is "probe kernel.function("*") {}", Is there a way
>> to use "*"
>> and exclude a function?
>
> The problem here is that while some of these routines are blacklisted
> in the kernel (kprobe_register will fail), they are not blacklisted in
> the translator. We need to teach the translator to look for the
> kernel-side blacklist info too (the .kprobes section naming methinks),
> and treat it similarly to the .init/.exit special cases already
> present in tapsets.cxx.
>
> This way, function("*") will quietly exclude the blacklisted
> functions.
>
> - FChE
Indeed this would be nice -- see bug #2639.
http://sources.redhat.com/bugzilla/show_bug.cgi?id=2639
In the mean time, we can add additional functions to the static
blacklist in the translator. See dwarf_query::build_blacklist(). It's
unfortunate that we have to try to maintain this, but I suppose it's
better than nothing. And, as you mention, kprobe_register will block
these too, so this is really just a matter of *when* the error is
caught.
Josh