On Fri, Feb 5, 2010 at 9:40 AM, Ryan Johnson <ryanj...@ece.cmu.edu> wrote:
> On 2/5/2010 1:19 PM, Chad Mynhier wrote:
>>
>> On Fri, Feb 5, 2010 at 7:10 AM, Ryan Johnson<ryanj...@ece.cmu.edu>  wrote:
>>
>>>
>>> Is this a known limitation/bug? For now I'm using the O7 trick and
>>> post-processing to remove the most glaring deficiencies but a real
>>> solution
>>> would be nice.
>>>
>>
>> Yes, this is a known limitation.  The documentation talks about the
>> problem with tail-call optimization:
>>
>> http://docs.sun.com/app/docs/doc/817-6223/6mlkidln8?a=view
>>
>
> This isn't a tail call issue. The leaf function has the true caller's return
> address (in O7), but never creates a stack frame. The lack of a stack frame
> is what confuses dtrace, I think.

Yes.  DTrace walks the stack frames to generate the stack trace.  If
there's no stack frame, it won't show up.

I haven't verified this with the code yet, but I assume DTrace skips
the top stack frame because it gets the information otherwise.  That
would explain why you don't see true_caller().

I'm a little bit confused as to why you don't see
some_other_function(), though.  It seems that this one would at least
be showing up,  Is this a case of tail-call optimization?

Chad
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to