jasonmolenda added a comment.

separate from the fact that `UnwindPlan::Dump` does not print 
`m_plan_is_for_signal_trap` for an UnwindPlan, what we need to see from a real 
trap handler -- in lldb's terminology -- is that we have restore rules for all 
of the registers.

If we're getting things marked as a trap handler which are not, maybe we should 
change the unwind rules to *explicitly* mark any registers that the UnwindPlan 
doesn't supply as "unavailable".  If `raise` doesn't have a save rule for 
`rdi`, that means that the value of rdi in `raise` has been unmodified from the 
caller function, and it could be supplied (invalidly).  In the middle of a 
stack, it isn't such a big deal because the next frame down the stack (e.g. 
frame 1) will not pass rdi up the stack, I suppose.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86417/new/

https://reviews.llvm.org/D86417

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to