On Wed, Sep 7, 2011 at 12:28 PM, Bernd Schmidt <ber...@codesourcery.com> wrote: > Here's a new version, which adds support for mips16 and tries to avoid > the window with the frame pointer restore. > > Testing mips16 is problematic, all the execute tests fail before and > after - I interpret one of your earlier mails to say that this is > expected. There are no new compilation failures with this patch, but > incorrect earlier versions triggered a few, indicating that the testing > is at least somewhat useful. > > I get the following output for restore insns: > > move $sp,$17 > restore 8,$16,$17 > $LCFI2 = . > .cfi_remember_state > .cfi_restore 16 > .cfi_restore 17 > .cfi_def_cfa 29, 0 > > which I think is correct. > > Question for Richard H.: What is this actually good for, other than > presenting consistent information to dwarf2cfi? Do we actually expect > code to unwind through the middle of an epilogue?
With async signals we can at least get interrupted in the middle of an epilogue. What you are allowed to do here (throw an exception? perform manual unwinding? use gdb which unwinds?) is another question. ISTR customer requests for this feature at least (which I think was doing profiling stuff). Richard. > > Bernd >