[Lldb-commits] [PATCH] D34750: [UnwindAssembly/x86] Add support for "lea imm(%ebp), %esp" pattern

Tamas Berghammer via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jun 28 08:37:11 PDT 2017

tberghammer accepted this revision.
tberghammer added a comment.
This revision is now accepted and ready to land.

Looks good with one possible question

Comment at: source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp:875-876
+             row->GetCFAValue().GetRegisterNumber() == m_lldb_fp_regnum) {
+      current_sp_bytes_offset_from_cfa =
+          row->GetCFAValue().GetOffset() - stack_offset;
+    }
Shouldn't you change the unwind information for the CFA here? For me saying CFA=rbp seems like an incorrect thing to do, but not sure what would be the correct value (Undefined? IsSame?). The impact is if an other register (or a local variable) have a location specified as CFA+off then after this instruction it will point to bogus location.


More information about the lldb-commits mailing list