[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