On Tue, 2005-10-25 at 11:34, Joern RENNECKE wrote:
> It can't be easily implemented in target-specific code alone.  Sometimes 
> there is code after the epilogue, so there would have to be
> a mechanism to get the dwarf virtual machine back to the pre-epilogue state.

There is.

I'm more conversant with IA-64 unwind info than dwarf2 unwind info at
the moment.  In IA-64 unwind info, we have operators label_state and
copy_state.  We just emit label_state before the epilogue, and then
copy_state after the epilogue.  The IA-64 port already does this via
hooks in final.c.  The code is there if you want to look at it.  The
IA-64 port is probably the only one emitting epilogue unwind info at the
moment.

There are equivalent features in dwarf unwind info.  Looks like they are
called DW_CFA_remember_state and DW_CFA_restore_state.
-- 
Jim Wilson, GNU Tools Support, http://www.specifix.com

Reply via email to