jasonmolenda added a comment. Thanks for doing this work Ulrich, the assumption that SP==CFA was mine, I should have put this in the ABI from the start.
I worry a little about the change to RegisterContextLLDB::SavedLocationForRegister() where you've moved the ABI is-volatile check into ABI::GetFallbackRegisterLocation. If this function can't find an unwind rule for a non-volatile register, it will return UnwindLLDB::RegisterSearchResult::eRegisterNotFound and UnwindLLDB will continue searching for a definition down the stack. You're changing the call to ABI::RegisterIsVolatile to unwindplan_regloc.IsUndefined(), assuming that GetFallbackRegisterLocation set it to undefined. But could a register have an undefined state from the eh_frame rules? I'm not sure what that would indicate - but presumably this function doesn't use that register and lldb should continue its search. I may not be correct about this point - but what do you think about this possibility? http://reviews.llvm.org/D18977 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits