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