[Lldb-commits] [PATCH] D63667: Support __kernel_rt_sigreturn in frame initialization

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 15 15:06:07 PDT 2019


jasonmolenda added a comment.

Ah, regarding the S bit, looks good to me.  I think I misunderstood the original problem you were working on.  On Darwin systems, we have our friend __sigtramp.  When an async interrupt is received, the kernel saves the register context to stack and then calls __sigtramp which does some instructions and then calls the trap handler function.  Backing up the pc by 1 for __sigtramp is fine, because it did a normal CALL instruction to the trap handler.

I'm guessing on this Linux system, you've got a trap receiver function on the stack that is on its first instruction or something?  So backing up the pc value for *that* frame is the problem you're solving.

Then there's the issue of backing up the pc by 1 for the frame that was asynchronously interrupted - a separate issue altogether.

Anyway this looks fine to me.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63667





More information about the lldb-commits mailing list