[Lldb-commits] [PATCH] D15046: Fix for TestNoreturnUnwind.py on i386

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 30 21:13:29 PST 2015


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





More information about the lldb-commits mailing list