[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
CHANGES SINCE LAST ACTION
More information about the lldb-commits