http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211



             Bug #: 55211

           Summary: [4.8 regression] sparc64-linux bootstrap fails with

                    SIGILL while compiling __mulvti3

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: bootstrap

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: mi...@it.uu.se





Attempting to bootstrap 4.8-20121104 on sparc64-linux fails with:



/mnt/scratch/objdir48/./gcc/xgcc -B/mnt/scratch/objdir48/./gcc/

-B/mnt/scratch/install48/sparc64-unknown-linux-gnu/bin/

-B/mnt/scratch/install48/sparc64-unknown-linux-gnu/lib/ -isystem

/mnt/scratch/install48/sparc64-unknown-linux-gnu/include -isystem

/mnt/scratch/install48/sparc64-unknown-linux-gnu/sys-include    -g -O2 -m64 -O2

 -g -O2 -DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual

-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem

./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  

-fPIC -I. -I. -I../../.././gcc -I/mnt/scratch/gcc-4.8-20121104/libgcc

-I/mnt/scratch/gcc-4.8-20121104/libgcc/.

-I/mnt/scratch/gcc-4.8-20121104/libgcc/../gcc

-I/mnt/scratch/gcc-4.8-20121104/libgcc/../include  -DHAVE_CC_TLS  -o _mulvdi3.o

-MT _mulvdi3.o -MD -MP -MF _mulvdi3.dep -DL_mulvdi3 -c

/mnt/scratch/gcc-4.8-20121104/libgcc/libgcc2.c -fvisibility=hidden

-DHIDE_EXPORTS

/mnt/scratch/gcc-4.8-20121104/libgcc/libgcc2.c: In function '__mulvti3':

/mnt/scratch/gcc-4.8-20121104/libgcc/libgcc2.c:397:1: internal compiler error:

Illegal instruction

 }

 ^



/mnt/scratch/gcc-4.8-20121104/libgcc/libgcc2.c:397:1: internal compiler error:

Aborted

xgcc: internal compiler error: Aborted (program cc1)

make[5]: *** [_mulvdi3.o] Aborted

make[5]: Leaving directory

`/mnt/scratch/objdir48/sparc64-unknown-linux-gnu/64/libgcc'

make[4]: *** [multi-do] Error 1

make[4]: Leaving directory

`/mnt/scratch/objdir48/sparc64-unknown-linux-gnu/libgcc'

make[3]: *** [all-multi] Error 2

make[3]: Leaving directory

`/mnt/scratch/objdir48/sparc64-unknown-linux-gnu/libgcc'

make[2]: *** [all-stage2-target-libgcc] Error 2

make[2]: Leaving directory `/mnt/scratch/objdir48'

make[1]: *** [stage2-bubble] Error 2

make[1]: Leaving directory `/mnt/scratch/objdir48'

make: *** [bootstrap] Error 2



Re-running cc1 in gdb shows:



Program received signal SIGILL, Illegal instruction.

0x00575f94 in emit_note_insn_var_location(void**, void*) ()

Missing separate debuginfos, use: debuginfo-install glibc-2.13.90-4.1.sparcv9

(gdb) bt

#0  0x00575f94 in emit_note_insn_var_location(void**, void*) ()

#1  0x00734b7c in htab_traverse_noresize ()

#2  0x00576a64 in emit_notes_for_changes(rtx_def*, emit_note_where,

shared_hash_def*) ()

#3  0x00577118 in vt_emit_notes() ()

#4  0x0057a378 in variable_tracking_main() ()

#5  0x002f8454 in execute_one_pass(opt_pass*) ()

#6  0x002f8954 in execute_pass_list(opt_pass*) ()

#7  0x002f8978 in execute_pass_list(opt_pass*) ()

#8  0x002f8978 in execute_pass_list(opt_pass*) ()

#9  0x00111ad8 in expand_function(cgraph_node*) ()

#10 0x001134fc in compile() ()

#11 0x00113c8c in finalize_compilation_unit() ()

#12 0x00034a14 in c_write_global_declarations() ()

#13 0x003a62bc in compile_file() ()

#14 0x003a7c04 in toplev_main(int, char**) ()

#15 0xf7d44234 in __libc_start_main () from /lib/libc.so.6

#16 0x00023798 in _start ()



Disassembling the faulting instruction shows:



(gdb) disassemble 0x575f80,0x575fa0

Dump of assembler code from 0x575f80 to 0x575fa0:

   0x00575f80 <_ZL27emit_note_insn_var_locationPPvS_+1584>:     clr  %i3

   0x00575f84 <_ZL27emit_note_insn_var_locationPPvS_+1588>:     add  %fp, -192,

%i2

   0x00575f88 <_ZL27emit_note_insn_var_locationPPvS_+1592>:     add  %fp, -128,

%i0

   0x00575f8c <_ZL27emit_note_insn_var_locationPPvS_+1596>:     add  %i5, %i5,

%g1

   0x00575f90 <_ZL27emit_note_insn_var_locationPPvS_+1600>:     ld  [ %i2 + %i5

], %i1

=> 0x00575f94 <_ZL27emit_note_insn_var_locationPPvS_+1604>:     ldd  [ %i0 +

%g1 ], %o1

   0x00575f98 <_ZL27emit_note_insn_var_locationPPvS_+1608>:     call  0x1835a0

<_Z17gen_rtx_CONST_INT12machine_modex>

   0x00575f9c <_ZL27emit_note_insn_var_locationPPvS_+1612>:     clr  %o0

End of assembler dump.

(gdb) print/x $i0

$1 = 0xffffc5b8

(gdb) print/x $g1

$2 = 0x0



The same problem occurred with the previous weekly snapshot, 4.8-20121028,

while the one before that (4.8-20121021) was Ok.



Configuration parameters:

/mnt/scratch/gcc-4.8-20121104/configure --prefix=/mnt/scratch/install48

--with-gmp=/home/mikpe/pkgs/linux-sparc64/gmp-5.0.5

--with-mpfr=/home/mikpe/pkgs/linux-sparc64/mpfr-3.1.1

--with-mpc=/home/mikpe/pkgs/linux-sparc64/mpc-1.0.1 --with-cpu=v8

--enable-multilib --disable-plugin --disable-lto --disable-nls

--enable-threads=posix --enable-checking=release --disable-libmudflap

--enable-languages=c,c++,fortran,ada

Reply via email to