jasonmolenda added a comment.

Hi, thanks so much for showing all the unwind plans, sorry for dropping off the 
thread for a day.

I'm seeing something I very much don't expect, and it may be important.  The 
unwind information for __restore_rt is marked as a trap handler in both the 
eh_frame unwind information and from the PlatformLinux, and the unwind rules 
look like a trap handler.

However, I see that both raise and abort have eh_frame UnwindPlans saying that 
they are not trap handlers and eh_frame augmented UnwindPlan saying they *are*. 
 I think we have a little buggo where the augmented UnwindPlan is created and 
we have an uninitialized ivar or something.  I'll look at this code tomorrow, I 
bet it's an obvious bug.

I need to re-read the original bug description, but this will have some minor 
misbehaviors especially after a no-return function like abort() where the next 
instruction may be an entirely wrong symbol context if we treat abort as a trap 
handler.


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