GCC trunk fails to build for avr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, when I configure gcc for the avr target, then the build stops
with an internal error:

make[4]: Entering directory `/local/gnu/build/gcc-trunk-avr/avr/avr25/libgcc'
# If this is the top-level multilib, build all the other
# multilibs.
/home/georg/gnu/build/gcc-trunk-avr/./gcc/xgcc
-B/home/georg/gnu/build/gcc-trunk-avr/./gcc/
-B/local/gnu/install/gcc-4.8/avr/bin/ -B/local/gnu/install/gcc-4.8/avr/lib/
-isystem /local/gnu/install/gcc-4.8/avr/include -isystem
/local/gnu/install/gcc-4.8/avr/sys-include    -g -Os -mmcu=avr25 -O2  -g -Os
-DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include   -DDF=SF -Dinhibit_libc -mcall-prologues -Os -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -DDF=SF -Dinhibit_libc
-mcall-prologues -Os -I. -I. -I../../.././gcc
-I../../../../../gcc.gnu.org/trunk/libgcc
-I../../../../../gcc.gnu.org/trunk/libgcc/.
-I../../../../../gcc.gnu.org/trunk/libgcc/../gcc
-I../../../../../gcc.gnu.org/trunk/libgcc/../include  -DHAVE_CC_TLS
-DUSE_EMUTLS -o _mulsc3.o -MT _mulsc3.o -MD -MP -MF _mulsc3.dep -DL_mulsc3 -c
../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c
../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c: In function '__mulsc3':
../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c:1929:1: internal compiler
error: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at
rtl.h:1096
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [_mulsc3.o] Error 1
make[4]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/avr25/libgcc'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/libgcc'
make[2]: *** [all-multi] Error 2
make[2]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/local/gnu/build/gcc-trunk-avr'
make: *** [all] Error 2


gcc is from today's trunk and was configured with

../../gcc.gnu.org/trunk/configure --target=avr
--prefix=/local/gnu/install/gcc-4.8 --disable-nls --with-dwarf2
--enable-checking=yes,rtl --enable-languages=c,c++ --enable-target-optspace=yes

Something goes wrong in

df-problems.c:dead_debug_insert_temp

(insn 328 886 866 37 (set (reg:SF 16 r16)
        (unspec:SF [
                (reg:SF 16 r16)
                (reg/v:SF 4 r4 [orig:162 b ] [162])
            ] UNSPEC_COPYSIGN)) libgcc2-mulsc3.c:1307 322 {copysignsf3}
     (expr_list:REG_DEAD (reg/v:SF 4 r4 [orig:162 b ] [162])
        (expr_list:REG_DEAD (reg/v:SF 4 r4 [orig:162 b ] [162])
            (expr_list:REG_EQUAL (unspec:SF [
                        (const_double:SF 0 [0] 0.0 [0x0.0p+0])
                        (reg/v:SF 4 r4 [orig:162 b ] [162])
                    ] UNSPEC_COPYSIGN)
                (nil)))))


There is this code that sets reg from NULL to garbage (debug_expr:SF D#2)

  /* Move all uses of uregno from debug->head to uses, setting mode to
     the widest referenced mode.  */
  while ((cur = *tailp))
    {
      if (DF_REF_REGNO (cur->use) == uregno)
    {
      *usesp = cur;
      usesp = &cur->next;
      *tailp = cur->next;
      cur->next = NULL;
      if (!reg
          || (GET_MODE_BITSIZE (GET_MODE (reg))
          < GET_MODE_BITSIZE (GET_MODE (*DF_REF_REAL_LOC (cur->use)))))
        reg = *DF_REF_REAL_LOC (cur->use);

Would be great if an expert could help out of this.

Johann


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux