jasonmolenda accepted this revision. jasonmolenda added a comment. This revision is now accepted and ready to land.
I can see why the existing code is written as it is, given the dwarf spec for DW_CFA_restore: "The DW_CFA_restore instruction takes a single operand (encoded with the opcode) that represents a register number. The required action is to change the rule for the indicated register to the rule assigned it by the `initial_instructions` in the CIE". The mistake in the current code is that any register not mentioned in the CIE state (the unwind rules at Row 0 in this UnwindPlan) is the unmodified value of the caller. This patch is correct; the register was not mentioned in the CIE so should say there is no unwind rule for this register - it is the unmodified value of the caller function. I probably would have added a comment to this new line in the `else` block saying that explicitly, but that's just a personal preference. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153043/new/ https://reviews.llvm.org/D153043 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits