This is the mail archive of the gcc@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: BUG? -fomit-frame-pointer and exceptions or setjmp/longjmp


Nix writes:
 > On Fri, 14 Jun 2002, Denis Zaitsev said:
 > > On Mon, Jun 10, 2002 at 09:48:28PM +0100, Nix wrote:
 > >> ...
 > >> As the trace shows, this crash occurs during unwinding, the presence or
 > >> absence of a catch is irrelevant. I'm rather wondering why we're hitting
 > >> MD_FALLBACK_FRAME_STATE_FOR at all: perhaps there's a problem in FDE
 > >> generation or something.

Probably, yes.

 > > Exact, uw_update_context_1 calculates bad context->cfa, if it works
 > > for a function with the frame pointer omited.  Now I'm looking what
 > > follows...
 > 
 > Ah, so it was `working' beforehand only because the fallback function
 > was recovering from the FDE unwinder's[1] errors?

I don't think it can do that.

 > Why is there a fallback function at all?

In order to unpick signal handler frames.  The idea is that if we fail
to find information for the previous frame, we invoke an operating
system specific fallback handler, which in turn recognizes a signal
handler frame and unwinds through it.

If you've hit MD_FALLBACK_FRAME_STATE_FOR and there has been no signal
it's a bug, as Richard said.

Andrew.


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