Summary: | ICE: in spill_failure, at reload1.c:1862 with builtin_apply/builtin_return | ||
---|---|---|---|
Product: | gcc | Reporter: | Dara Hazeghi <dhazeghi> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ayers, berndtrog, denisc, eric.weddington, gcc-bugs |
Priority: | P2 | Keywords: | build, ice-on-valid-code |
Version: | 3.4.0 | ||
Target Milestone: | 4.2.1 | ||
Host: | Target: | avr | |
Build: | Known to work: | 4.3.0 4.2.1 | |
Known to fail: | Last reconfirmed: | 2005-02-12 23:28:10 |
Description
Dara Hazeghi
2003-08-21 19:05:12 UTC
The only known languages that builds for the AVR are C and C++. There has been work on an Ada port for the AVR here: <http://sourceforge.net/projects/avr- ada>, but it is incomplete. Any others (such as Objective C) on the AVR are unknown. Newlib is not used as the C library for the AVR. You need to get avr-libc: <http://savannah.nongnu.org/projects/avr-libc> The avr-libc user manual (found online above) also has instructions on building and installing a full toolchain. The AVR toolchain is maintained on Linux, FreeBSD, and Windows, and is known to build on Solaris and recently Mac OSX. For the Windows port see WinAVR: <http://sourceforge.net/projects/winavr>. For information on OSX see recent posts to the avr-gcc-list mailing list: <http://www.avr1.org/mailman/listinfo/avr-gcc-list/> Eric Confirmed on the mainline (20030930). Suspending as there is no avr maintainer, yet. There are 2 AVR maintainers. From the MAINTAINERS file (3.3.1): avr port Denis Chertykov denisc@overta.ru avr port Marek Michalkiewicz marekm@linux.org.pl Woops that was a different target I was think of. Note this is C code not Objective-C code any way. This problem is still present on mainline. Denis, do you have any suggestions about what may be causing this issue? Thanks. Subject: Re: libobjc/sendmsg.c build ICE: in spill_failure, at reload1.c:1862 "dhazeghi at yahoo dot com" <gcc-bugzilla@gcc.gnu.org> writes: It's because __builtin_return completely unsupported. Denis. Fair enough. Then would it be possible to disable building of objc (and libobjc) on avr in configure, and document this as such? If this sounds good, I can make a patch... Subject: Re: libobjc/sendmsg.c build ICE: in spill_failure, at reload1.c:1862 "dhazeghi at yahoo dot com" <gcc-bugzilla@gcc.gnu.org> writes: > PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12017 > > > > ------- Additional Comments From dhazeghi at yahoo dot com 2003-10-27 21:38 ------- > Fair enough. Then would it be possible to disable building of objc (and libobjc) on avr in configure, > and document this as such? If this sounds good, I can make a > patch... Please make it ! Denis. Note the Objective-C front-end just produces C front-end trees so the problem is in avr back-end and needs to be fixed, this bug also is when using the C source code and not Objective-C source. So this really needs to be fixed and not patched by not building libobjc. Seems to be fixed in 4.3 20070817 snapshot. An additional minor patch is needed, not for this bug, but to allow Objective-C to build for the AVR. (It's unknown if Objective-C will actually *work* on the AVR...) --- gcc/config/avr/avr.h.old 2007-08-23 15:18:31.015625000 -0600 +++ gcc/config/avr/avr.h 2007-08-23 15:19:17.687500000 -0600 @@ -53,7 +53,7 @@ extern int avr_mega_p; extern int avr_have_mul_p; extern int avr_asm_only_p; extern int avr_have_movw_lpmx_p; -#ifndef IN_LIBGCC2 +#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) extern GTY(()) section *progmem_section; #endif Seems to be fixed in 4.2.1, at least. I haven't tried earlier releases. Changing target milestone and closing bug. |