[Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe

Richard Earnshaw rearnsha@arm.com
Thu Feb 19 15:30:00 GMT 2004


> 
> Won't that leave bits of GNAT broken?  I think it uses __builtin_setjmp
> explicitly.
> 

Possibly, but probably no more broken than it already is if it uses that 
routine.  How can the compiler know to restore registers it doesn't even 
know about?  The EABI has been carefully constructed to ensure that it 
needed care; but builtin_setjmp breaks that assumption.

The ultimate solution will be to convert the ARM port to use the EABI 
exception unwinding model, then most of this should be irrelevant from 
that point of view.

R.




More information about the Gcc-bugs mailing list