[Bug target/69012] gcc-6.0.0 internal compiler error building libgfortran for mips64el target

edlinger at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 25 11:12:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69012

Bernd Edlinger <edlinger at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-12-25
     Ever confirmed|0                           |1

--- Comment #12 from Bernd Edlinger <edlinger at gcc dot gnu.org> ---
confirmed, I encountered it too when compiling a cross-glibc

gcc-config:
../gcc-trunk/configure --prefix=/home/ed/gnu/mips-linux-gnu
--target=mips-linux-gnu --enable-languages=c --disable-shared --disable-threads
--disable-libssp --disable-libgomp --disable-libquadmath --disable-libatomic

glibc-config:
../glibc-2.22/configure --prefix=/home/ed/gnu/mips-linux-gnu/mips-linux-gnu
--build=mips-linux-gnu --disable-werror CC=mips-linux-gnu-gcc

mips-linux-gnu-gcc -mabi=32 ../sysdeps/ieee754/dbl-64/e_remainder.c -c
-std=gnu99 -fgnu89-inline  -O2 -Wall -Wundef -Wwrite-strings
-fmerge-all-constants -frounding-math -g -Wstrict-prototypes      
-Wno-uninitialized    -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES
-DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include
-I/home/ed/gnu/glibc-build-mips/math  -I/home/ed/gnu/glibc-build-mips 
-I../sysdeps/unix/sysv/linux/mips/mips32/fpu 
-I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips 
-I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread 
-I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv 
-I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix 
-I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32 
-I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips 
-I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64 
-I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754 
-I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include
/home/ed/gnu/glibc-build-mips/libc-modules.h -DMODULE_NAME=libm -include
../include/libc-symbols.h  -DPIC     -o
/home/ed/gnu/glibc-build-mips/math/e_remainder.o -MD -MP -MF
/home/ed/gnu/glibc-build-mips/math/e_remainder.o.dt -MT
/home/ed/gnu/glibc-build-mips/math/e_remainder.o
../sysdeps/ieee754/dbl-64/e_remainder.c: In function '__ieee754_remainder':
../sysdeps/ieee754/dbl-64/e_remainder.c:149:1: error: unrecognizable insn:
 }
 ^

(insn 911 910 912 2 (parallel [
            (set (mem/c:SI (plus:SI (reg/f:SI 29 $sp)
                        (const_int 16 [0x10])) [8  S4 A32])
                (unspec:SI [
                        (const_int 16 [0x10])
                        (reg:SI 28 $28)
                    ] UNSPEC_POTENTIAL_CPRESTORE))
            (clobber (scratch:SI))
        ]) ../sysdeps/ieee754/dbl-64/e_remainder.c:45 -1
     (expr_list:REG_DEAD (reg:SI 28 $28)
        (nil)))
../sysdeps/ieee754/dbl-64/e_remainder.c:149:1: internal compiler error: in
get_attr_got, at config/mips/mips.md:694
0xa4c2aa _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc-trunk/gcc/rtl-error.c:108
0xa4c2d9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../gcc-trunk/gcc/rtl-error.c:116
0xea6616 get_attr_got(rtx_insn*)
        ../../gcc-trunk/gcc/config/mips/mips.md:694
0xdc4128 mips_insn_has_flexible_gp_ref_p
        ../../gcc-trunk/gcc/config/mips/mips.c:9927
0xdc11fe mips_find_gp_ref
        ../../gcc-trunk/gcc/config/mips/mips.c:9858
0xdc1ee7 mips_global_pointer
        ../../gcc-trunk/gcc/config/mips/mips.c:9979
0xdc1ee7 mips_compute_frame_info
        ../../gcc-trunk/gcc/config/mips/mips.c:10350
0xdce2ce mips_initial_elimination_offset(int, int)
        ../../gcc-trunk/gcc/config/mips/mips.c:10591
0xa4dbd2 rtx_addr_can_trap_p_1
        ../../gcc-trunk/gcc/rtlanal.c:618
0xa4da67 rtx_addr_can_trap_p_1
        ../../gcc-trunk/gcc/rtlanal.c:679
0xa51737 may_trap_p_1(rtx_def const*, unsigned int)
        ../../gcc-trunk/gcc/rtlanal.c:2819
0x723b28 can_move_insns_across(rtx_insn*, rtx_insn*, rtx_insn*, rtx_insn*,
basic_block_def*, bitmap_head*, bitmap_head*, rtx_insn**)
        ../../gcc-trunk/gcc/df-problems.c:4156
0xf342c8 try_head_merge_bb
        ../../gcc-trunk/gcc/cfgcleanup.c:2502
0xf342c8 try_optimize_cfg
        ../../gcc-trunk/gcc/cfgcleanup.c:2832
0xf342c8 cleanup_cfg(int)
        ../../gcc-trunk/gcc/cfgcleanup.c:3028
0xf349a6 execute
        ../../gcc-trunk/gcc/cfgcleanup.c:3157
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [/home/ed/gnu/glibc-build-mips/math/e_remainder.o] Error 1
make[2]: Leaving directory `/home/ed/gnu/glibc-2.22/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/home/ed/gnu/glibc-2.22'
make: *** [all] Error 2

this is also fixed by patch in comment#11


More information about the Gcc-bugs mailing list