The recent cleanup of the dwarf unwinder: commit 3141c9874bc41a0ef16fc0067827be47c475a171 Author: Mark Wielaard <mjw@redhat.com> Date: Wed Oct 5 15:04:17 2011 +0200 Support same value rules in unwinder. Don't treat undefined as same value. The unwinder treated undefined and same value rules the same. This patch introduces different states for them. All "real" registers are assumed to be "same value". Their value will be carried over to the next frame unless overruled. All other "fake" dwarf registers are treated as undefined. This makes a difference for architectures where for example the dwarf return register is a real register, where same value means something different from undefined (e.g. ppc). Broke the setjmp.exp test on i686. This is because "Unknown" now really means "Unknown" and not "hope for the best". Since DW_CFA_restore isn't implemented it just sets the register to Unknown, which makes it unusable. Should be fixed by implementing DW_CFA_restore (and friends) support in the unwinder.
commit 12231ba6252c82b53fee8dfc2d411f7fdecb71ee Author: Mark Wielaard <mjw@redhat.com> Date: Wed Oct 5 22:23:01 2011 +0200 PR13266 Implement DW_CFA_restore in the dwarf unwinder. Store the initial reg state after processing the CIE and restore on DW_CFA_restore[_extended].