jasonmolenda wrote: @mchoo7 Hi, please include me in any future PRs related to unwinding like this. The transition between userland and kernel land via a syscall is a processor fault and the fault-catcher function in the kernel saves the register context in memory. (I work with macOS/Darwin systems and know exactly how it works there, but I expect most systems are similar) The correct way to get unwinds that cross this boundary are for the fault-catcher routine in the kernel (written in assembly) to have `.cfi` directives expressing where to find the saved register context via a non-volatile (aka callee-preserved) register. Then the unwinds work cleanly across the system call. You also see this (and it's more important) in kernel faults / timer interrupts entirely within kernel land.
https://github.com/llvm/llvm-project/pull/192184 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
