[Lldb-commits] [PATCH] D18977: Add new ABI callback to provide fallback unwind register locations
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 12 17:51:46 PDT 2016
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?
More information about the lldb-commits