clayborg added a comment.

Another possible way to do this would be to make a new stop reason in LLDB. 
debugserver currently can return a "reason" whose values are one of "trap", 
"breakpoint", "watchpoint", "exception", or "exec". What if we added 
"debug-trap"? Then back in LLDB we could add "eStopReasonDebugTrap" to 
"lldb::StopReason". Then the ABI plug-in or some arch specific plug-in could do 
something in response to this on stop, or on continue. x86 would know that is 
doesn't need to do anything because the PC is already past the trap 
instructions. But ARM64 it could advance the PC when the process goes to start 
running again so it skips the trap instruction. I would presonally like to see 
the program tell the truth when you hit a "brk #0xf000" and show the PC being 
on this instruction, and then continue from it correctly when you resume. Your 
solution is much easier though, so either way works.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91238

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

Reply via email to