This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

bootstrap failure with cvs current and --enable-checking



Running configure as:
../cvs/gcc/configure --prefix=/opt/gcc-2.96 --enable-shared --enable-threads \
         --enable-checking --with-gnu-as --with-gnu-ld --enable-cpp

on i686, Linux 2.2.13, glibc 2.1.2, binutils 2.9.1.0.25 I get an ICE
during make bootstrap:

for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _bb _shtab _clear_cache _trampoline __main _exit _ctors _pure; \
do \
  echo ${name}; \
  ./xgcc -B/opt/gcc-2.96/i686-pc-linux-gnu/bin/ -B./ -I/opt/gcc-2.96/i686-pc-linux-gnu/include -O2   -DIN_GCC    -g -W -Wall -I./include  -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I../../cvs/gcc/gcc -I../../cvs/gcc/gcc/config -I../../cvs/gcc/gcc/../include -c -DL${name} \
       ../../cvs/gcc/gcc/libgcc2.c -o ${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  ` if [ -f /usr/src/build-cc/gcc/../binutils/ar ] ; then echo /usr/src/build-cc/gcc/../binutils/ar ; else if [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] ; then echo ar; else t='s,x,x,'; echo ar | sed -e $t ; fi; fi` rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
done
_muldi3
_divdi3
_moddi3
xgcc: Internal compiler error: program cc1 got fatal signal 11

Calling xgcc with -v -save-temps reveals that cc1 breaks:
 ./cc1 libgcc2.i -quiet -dumpbase libgcc2.c -g -g1 -O2 -W -Wall -version -fPIC -o libgcc2.s
GNU C version 2.96 19991021 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 2.95.2 19991019 (prerelease).
xgcc: Internal compiler error: program cc1 got fatal signal 11

Here's a stack trace:

Program received signal SIGSEGV, Segmentation fault.
0x81623e3 in rtx_equal_p (x=0x4017f508, y=0x4017f510)
    at ../../cvs/gcc/gcc/rtlanal.c:1123
1123          switch (fmt[i])
(gdb) bt
#0  0x81623e3 in rtx_equal_p (x=0x4017f508, y=0x4017f510)
    at ../../cvs/gcc/gcc/rtlanal.c:1123
#1  0x81c7e54 in base_alias_check (x=0x401a2540, y=0x401a3650, x_mode=DImode, 
    y_mode=DImode) at ../../cvs/gcc/gcc/alias.c:858
#2  0x81cabac in true_dependence (mem=0x401a3630, mem_mode=DImode, 
    x=0x4018c110, varies=0x823d7c8 <cse_rtx_varies_p>)
    at ../../cvs/gcc/gcc/alias.c:1255
#3  0x82341d5 in invalidate (x=0x401a3630, full_mode=DImode)
    at ../../cvs/gcc/gcc/cse.c:1861
#4  0x8274fa2 in cse_insn (insn=0x40157b80, libcall_insn=0x0)
    at ../../cvs/gcc/gcc/cse.c:7620
#5  0x8281586 in cse_basic_block (from=0x4015a480, to=0x40157aa0, 
    next_branch=0xbffff0e8, around_loop=0) at ../../cvs/gcc/gcc/cse.c:8921
#6  0x8280c56 in cse_main (f=0x4015a480, nregs=114, after_loop=1, file=0x0)
    at ../../cvs/gcc/gcc/cse.c:8769
#7  0x804e534 in rest_of_compilation (decl=0x40142280)
    at ../../cvs/gcc/gcc/toplev.c:3923
#8  0x86936b0 in finish_function (nested=0) at ../../cvs/gcc/gcc/c-decl.c:6715
#9  0x8671d6a in yyparse () at c-parse.y:314
#10 0x804c714 in compile_file (name=0x40122da0 ":")
    at ../../cvs/gcc/gcc/toplev.c:3200
#11 0x8051350 in main (argc=14, argv=0xbffff7f4)
    at ../../cvs/gcc/gcc/toplev.c:5555

The values here look really strange:
(gdb) p i
$1 = 140634499
(gdb) p code
$2 = 42405

(gdb) p *x
$5 = {code = 42405, mode = 165, jump = 1, call = 0, unchanging = 1, 
  volatil = 0, in_struct = 0, used = 1, integrated = 0, frame_related = 1, 
  fld = {{rtwint = -1515870811, rtint = -1515870811, rtstr = 0xa5a5a5a5 "", 
      rtx = 0xa5a5a5a5, rtvec = 0xa5a5a5a5, rttype = 2779096485, 
      rt_addr_diff_vec_flags = {min_align = 165, base_after_vec = 1, 
        min_after_vec = 0, max_after_vec = 1, min_after_base = 0, 
        max_after_base = 0, offset_unsigned = 1, 2, scale = 165}, 
      rtbit = 0xa5a5a5a5, rttree = 0xa5a5a5a5, bb = 0xa5a5a5a5}}}
(gdb) p *y
$6 = {code = 42405, mode = 165, jump = 1, call = 0, unchanging = 1, 
  volatil = 0, in_struct = 0, used = 1, integrated = 0, frame_related = 1, 
  fld = {{rtwint = -1515870811, rtint = -1515870811, rtstr = 0xa5a5a5a5 "", 
      rtx = 0xa5a5a5a5, rtvec = 0xa5a5a5a5, rttype = 2779096485, 
      rt_addr_diff_vec_flags = {min_align = 165, base_after_vec = 1, 
        min_after_vec = 0, max_after_vec = 1, min_after_base = 0, 
        max_after_base = 0, offset_unsigned = 1, 2, scale = 165}, 
      rtbit = 0xa5a5a5a5, rttree = 0xa5a5a5a5, bb = 0xa5a5a5a5}}}

If you need further information, please tell me.
Andreas
-- 
 Andreas Jaeger   
  SuSE Labs aj@suse.de	
   private aj@arthur.rhein-neckar.de

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]