[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.

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list