This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe
- From: "rearnsha at arm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Feb 2004 15:30:11 -0000
- Subject: [Bug target/14202] [arm] Thumb __builtin_setjmp not interworking safe
- References: <20040218230529.14202.drow@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rearnsha at arm dot com 2004-02-19 15:30 -------
Subject: Re: [arm] Thumb __builtin_setjmp not
interworking safe
>
> 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.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14202