sibcalls and emit_eh_context
Richard Earnshaw
rearnsha@arm.com
Wed Apr 12 10:04:00 GMT 2000
>
> In message < 200004111508.QAA24902@cam-mail2.cambridge.arm.com >you write:
> >
> > I've just been looking at replacing the existing hack in the ARM backend
> > to detect tail-calls with the new sibcall functionality. I've now run
> > into a problem building tinfo.cc.
> >
> > The problem is that emit_eh_context is generating a call_placeholder insn
> > (to get the eh_context), but it is doing this after
> > optimize_sibling_and_tail_recursive_calls() has replaced all the other
> > placeholders with their appropriate calls. The result is a
> > call_placeholder insn that isn't fixed up, so eventually we get an abort
> > when it isn't recognized.
> >
> > Has anyone else come across this? If not, why not, since it looks like a
> > fairly generic problem?
> It may have been reported on i386-unknown-netbsd (the bug report looks
> similar).
>
> Is your target a setjmp/longjmp based EH target?
It was, then it wasn't, then (briefly) it was again :-(
It should (now) be dwarf2 based. I'll give it another try, but either
way, I think there is probably an underlying problem even if the ARM port
is no-longer triggering it.
R.
More information about the Gcc-bugs
mailing list