missing entrypc dwarf line record

David Wilder dwilder@us.ibm.com
Tue Sep 19 18:35:00 GMT 2006


Stone, Joshua I wrote:

>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
>  
>
I took check for a null entrypc out to make my test run. In my case 
since the function is blacklisted it gets kicked out later so it is not 
a problem. But we still need the check. As Joshua's suggested moving the 
check into dwarf_query::blacklisted_p() sounds like the right thing to do.

-- 
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA 
dwilder@us.ibm.com
(503)578-3789



More information about the Systemtap mailing list