[Lldb-commits] [PATCH] D86417: [lldb] do not propagate eTrapHandlerFrame repeatedly

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 25 17:52:53 PDT 2020


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



More information about the lldb-commits mailing list