[Lldb-commits] [lldb] r241331 - Fix handling of DW_CFA_restore_state

Tamas Berghammer tberghammer at google.com
Fri Jul 3 02:30:14 PDT 2015


Author: tberghammer
Date: Fri Jul  3 04:30:14 2015
New Revision: 241331

URL: http://llvm.org/viewvc/llvm-project?rev=241331&view=rev
Log:
Fix handling of DW_CFA_restore_state

The CFA offset shouldn't be irestored to the saved value in case
of a DW_CFA_restore_state opcode.

Differential revision: http://reviews.llvm.org/D10843

Modified:
    lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp

Modified: lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp?rev=241331&r1=241330&r2=241331&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp (original)
+++ lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp Fri Jul  3 04:30:14 2015
@@ -743,8 +743,10 @@ DWARFCallFrameInfo::FDEToUnwindPlan (dw_
                     // useful for compilers that move epilogue code into the body of a
                     // function.)
                     {
+                        lldb::addr_t offset = row->GetOffset ();
                         row = stack.back ();
                         stack.pop_back ();
+                        row->SetOffset (offset);
                     }
                     break;
 





More information about the lldb-commits mailing list