[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.
More information about the lldb-commits