[Bug target/52488] avr-*: internal compiler error: in extract_insn, at recog.c:2123
gjl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 13 11:26:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488
--- Comment #11 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-13 11:25:04 UTC ---
(In reply to comment #7)
> However, this warning still leaves users in unclearity as GCC doesn't tell the
> maximum of stack it can provide.
The compiler does not know. It can estimate the RAM size from the width of the
stack pointer, but it's just a guess.
> The avr's default set of multilib variants is non-suitable as general
> default set of multlib variants. It probably is suiteable as set of
> multilibs for bare-metal targets, but does not meet the demands of OSes.
>
> That said, I feel RTEMS needs to implement custom multilibs for the avr.
There is a patch at
http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00811.html
that is less strict and allows to build insane code without error. If user
wants to ensure reasonable code, he can use
-Wlarger-than=len
-Wframe-larger-than=len
-Wstack-usage=len
or whatever to let the compiler complain if unappropriate code will be
generated.
BTW: The -mmcu=at90s2313 from above is fallout from -print-multi-lib. The first
two configurations are phantom configurations that should not be there.
tiny-stack;@mmcu=at90s2313
avr25/tiny-stack;@mmcu=attiny13
.;
avr25;@mmcu=avr25
avr3;@mmcu=avr3
avr31;@mmcu=avr31
avr35;@mmcu=avr35
avr4;@mmcu=avr4
avr5;@mmcu=avr5
avr51;@mmcu=avr51
avr6;@mmcu=avr6
avrxmega2;@mmcu=avrxmega2
avrxmega4;@mmcu=avrxmega4
avrxmega5;@mmcu=avrxmega5
avrxmega6;@mmcu=avrxmega6
avrxmega7;@mmcu=avrxmega7
tiny-stack;@mtiny-stack
avr25/tiny-stack;@mmcu=avr25@mtiny-stack
More information about the Gcc-bugs
mailing list