jasonmolenda added a comment.

Hi Ravitheja, thanks for putting together a patch, I'm probably the best person 
to look at this.

I'm not sure I understand the failure mode.  When built with clang, this vdso 
routine does not preserve the frame pointer register (rbp), right?  If lldb 
knows the start address of the function, lldb should be able to use the 
assembly language inspection to get the correct backtrace, even for frameless 
code.

I'm afraid this change would (ultimately) make lldb fall back to the 
architectural default unwind plan - and if it's in a frameless function, that's 
not correct.  When the arch default unwind plan is used in a frameless 
function, you'll usually end up skipping the caller stack frame when you show 
the backtrace.

Would it be possible to show the disassembly of the routine lldb is having 
problems with?  Could you stop there and backtrace while

(lldb) log enable lldb unwind

is enabled?  The logging is a little difficult to follow, but once you're used 
to how the unwinder works it makes pretty good sense.  I don't have a system 
set up to get this information myself - I'd like to make sure I understand how 
the unwinder is failing here.

Thanks!


http://reviews.llvm.org/D15046



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to