This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: gcc-bugzilla at gcc dot gnu dot org
- Cc: gcc-bugs at gcc dot gnu dot org, Richard Earnshaw <rearnsha at arm dot com>
- Date: Thu, 19 Feb 2004 15:29:56 +0000
- Subject: Re: [Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe
- Organization: ARM Ltd.
- Reply-to: Richard Earnshaw <rearnsha at arm dot com>
>
> 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.