Hi, > Actually if I understand correctly how the altstack works, you won't need > even the 62-bit offset. I think the sigcontext sits on the altstack, right, > and it's the restored RBP/RSP value deltas that are the real problem?
Reading the DWARF info another time it seems above's wrong? Do I understand right that at least linux gives CFA offset to the final restored RSP value (via DW_OP_deref)? I so I take that explains why the RBP/RSP offsets are so large as they are from original stack to the ucontext_t - and cfa_reg_offset could also overflow? >From my side any mechanism which is cacheable (~ delta based) is fine. It seems Paul's approach to locate sigcontext_addr and use UC_MCONTEXT_GREGS_* offsets to restore RBP/RSP/RIP is best here, with comment why we don't use the DWARF info. Or maybe we should just use more space for the bit fields. Sorry for hypothetical comments, I won't be able to look into this more for a little while. Regards, Lassi _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
