This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]