[NOTE: I included avr-elf since this failure should be early enough in the build
process to duplicate with that.]
avr-rtems4.7 fails to bootstrap. Fails with this:
./gcc-4.0.20050109/gcc/../newlib/libc/sys/rtems/include -DIN_GCC -DCROSS_COMPILE
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -DDF=SF -Dinhibit_libc
-mcall-prologues -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I -I../../gcc-4.0.20050109/gcc -I../../gcc-4.0.20050109/gcc/
-I../../gcc-4.0.20050109/gcc/../libcpp/include -DL_fixdfdi -c
../../gcc-4.0.20050109/gcc/libgcc2.c -o libgcc/./_fixdfdi.o
../../gcc-4.0.20050109/gcc/libgcc2.c: In function '__fixdfdi':
../../gcc-4.0.20050109/gcc/libgcc2.c:1267: internal compiler error: in
find_valid_class, at reload.c:719
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Note there was another bug opened which will also fix the avr bootstrap failure but does not fix the ICE,
only works around the problem (PR 18887).
As mentioned in PR 18887 in comment #9, the ICE was caused by:
+2004-12-06 DJ Delorie <email@example.com>
+ * reload.c (find_valid_class): Fix logic to test inner mode as well.
+ (push_reload): Pass inner mode.
The problem is not *in* this patch, but while waiting for
a proper fix, I could get GCC to build again for AVR by
reversing it locally.
*** Bug 19446 has been marked as a duplicate of this bug. ***
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00834.html>.
(In reply to comment #4)
> Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00834.html>.
This patch lets building succeed for avr-rtems*.
AVR is not a primary or secondary platform; removing target milestone.
(In reply to comment #6)
> AVR is not a primary or secondary platform; removing target milestone.
Understood but there is a patch from Rager Sayle and all it needs is to be
reviewed and approved. He posted tests rules and an explanation here:
He reports on avr-elf and I can confirm that this lets avr-rtems build.
Please approve this patch.
Subject: Re: [4.0 Regression] ICE during bootstrap compiling
joel at gcc dot gnu dot org wrote:
> ------- Additional Comments From joel at gcc dot gnu dot org 2005-01-22 13:02 -------
> (In reply to comment #6)
>>AVR is not a primary or secondary platform; removing target milestone.
> Understood but there is a patch from Rager Sayle and all it needs is to be
> reviewed and approved. He posted tests rules and an explanation here:
> He reports on avr-elf and I can confirm that this lets avr-rtems build.
> Please approve this patch.
The AVR maintainer should review that patch; it's certainly fine to
commit if approved by the AVR maintainer.
I just assigned it to one AVR maintainer and cc'ed the other. Could one of
you review this patch and commit it per Mark's request.
I think the proposed avr_hard_regno_mode_ok patch may need a small fix for
QImode in r29 - possible problem with frame pointer (see removed comment):
- if (regno <= REG_Y && (regno + GET_MODE_SIZE (mode)) >= (REG_Y + 1))
+ if (regno <= (REG_Y + 1) && regno + GET_MODE_SIZE (mode) > REG_Y)
(In reply to comment #10)
have you had a chance to look at Roger's more recient patch:
Subject: Bug 19378
Module name: gcc
Changes by: firstname.lastname@example.org 2005-01-23 04:51:29
gcc : ChangeLog
gcc/config/avr : avr.c
* config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.