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

Reply via email to