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