mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-07 06:46:06 +00:00

Summary: The testcase TestNoreturnUnwind.py was failing because the unwind from the vdso library was not successful for clang compiler while it was passing for gcc. It was passing for gcc since the unwind plan used was the assembly plan and the ebp register was set by the main function in case of gcc and was not used by the functions in the call flow to the vdso, whereas clang did not emit assembly prologue for main and so the assembly unwind was failing. Normally in case of failure of assembly unwind, lldb switches to EH CFI frame based unwinding, but this was not happening for the first frame. This patch tries to fix this behaviour by falling to EH CFI frame based unwinding in case of assembly unwind failure even for the first frame. The test is still marked as XFAIL since it relys on the fix of another bug. Reviewers: lldb-commits, jingham, zturner, tberghammer, jasonmolenda Subscribers: jasonmolenda Differential Revision: http://reviews.llvm.org/D15046 llvm-svn: 257465