[RFA patch] PR18749: epilogue not tracked in dwarf2 unwind-info

Daniel Jacobowitz drow@false.org
Mon Jun 12 20:42:00 GMT 2006


On Mon, Jun 12, 2006 at 10:38:56PM +0200, Michael Matz wrote:
> But as I make sure, that you can't leave the epilogue, other than 
> returning from the function, this changed state (which is unequal to the 
> state right before the epilogue) can't be relied upon anywhere after the 
> epilogue.  Program flow simply couldn't go over this intermediate 
> non-epilogue insn without leaving the function.
> 
> (Note that I restore the state only at the next barrier after the 
> epilogue)

I'm thinking something like this:

- Epilogue insn that touches the CFA
- Non-epilogue insn that touches the CFA
- Epilogue insn that compensates for that
- Return
- Restore CFA - to wrong value

I'm not accusing you of getting this wrong; I couldn't tell from your
patch what would happen, and I can't really see how you'd get GCC to do
this either.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Gcc-patches mailing list