Richard Henderson <r...@redhat.com> writes: > On 09/01/2011 12:13 AM, Richard Sandiford wrote: >> Also, for the frame_pointer_required case, it looks like there's a >> window between the restoration of the frame pointer and the deallocation >> of the stack in which the CFA is still defined in terms of the frame >> pointer register. Is that significant? If not (e.g. because we >> should never need to unwind at that point) then why do we still >> update the CFA here: > > What window are you referring to? > > Best I can tell from looking at the patch we restore the CFA to the > stack pointer before anything else.
Well, I'm probably showing my ignorance here, but what I meant was: we attach the DEF_CFA and the CFA_RESTORE notes to the final stack deallocation. I was just worried that, immediately before that deallocation, the CFA is still defined in terms of the frame pointer, even though the frame pointer has already been restored. So it seemed like someone trying to unwind at that point would get the wrong CFA. So I just wasn't sure whether we expected anyone to try to unwind at that point or not. Or whether I'm missing something else... Richard