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]

BUG: CVS egcs-2.92.02 19980906: program cc1 got fatal signal 11


While  the  unresolved  symbol  (L<some-number>) problem I've reported
some  days  ago is   fixed now,    bootstrapping  the compiler   (with
BOOT_CFLAGS="-O9    -g  -funroll-all-loops")     on i586-linux    ends
prematurely with a "fatal signal 11" while compiling objc/sendmsg.c:

./xgcc -B./  -DIN_GCC    -O9 -funroll-all-loops -g -march=pentium -mcpu=pentium -fomit-frame-pointer -W -Wall -I./include  -I. -I../../egcs-19980906/gcc -I../../egcs-19980906/gcc/config -I../../egcs-19980906/gcc/../include -Iobjc \
-c ../../egcs-19980906/gcc/objc/sendmsg.c -o objc/sendmsg.o
xgcc: Internal compiler error: program cc1 got fatal signal 11

I then checked within gdb with four different optimization levels:

  1. -O9 -funroll-all-loops
  2. -O9
  3. -O2
  4. -O

cc1 is always crashing at the same location. From what I can tell, the
variable "set"'s value (HARD_REG_ELT_TYPE *) 0x2b looks rather strange
(I've  attached  the file  "sendmsg.i"). Interestingly,  this  doesn't
happen with BOOT_CFLAGS="-O2 -g"!

Script started on Sun Sep  6 18:03:41 1998
$ ./xgcc -B./  -DIN_GCC    -O9 -funroll-all-loops -g -march=pentium -mcpu=pentiu m -fomit-frame-pointer -W -Wall -I./include  -I. -I../../egcs-19980906/gcc -I../../egcs-19980906/gcc/con fig -I../../egcs-19980906/gcc/../include -Iobjc -c ../../egcs-19980906/gcc/objc/sendmsg.c -o objc/sendms g.o --save-temps -v
Reading specs from ./specs
gcc version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental)
 ./cpp -lang-c -v -I./include -I. -I../../egcs-19980906/gcc -I../../egcs-19980906/gcc/config -I../../egcs-19980906/gcc/../include -Iobjc -isystem ./include -undef -D__GNUC__=2 -D__GNUC_MINOR__=92 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__OPTIMIZE__ -g -W -Wall -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di586 -Dpentium -D__i586 -D__i586__ -D__pentium -D__pentium__ -DIN_GCC ../../egcs-19980906/gcc/objc/sendmsg.c sendmsg.i
GNU CPP version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 include
 .
 ../../egcs-19980906/gcc
 ../../egcs-19980906/gcc/config
 ../../egcs-19980906/gcc/../include
 objc
 include
 /tools/gnu/include
 /tools/gnu/lib/gcc-lib/i586-linux/egcs-2.92.02/include
 /usr/include
End of search list.
 ./cc1 sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O9 -W -Wall -version -funroll-all-loops -fomit-frame-pointer -o sendmsg.s
GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i586-linux) compiled by GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental).
xgcc: Internal compiler error: program cc1 got fatal signal 11
$ gdb cc1
GNU gdb 4.17
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-linux"...
Breakpoint 1 at 0x8048e74
Breakpoint 2 at 0x8049084
Breakpoint 3 at 0x8078d20: file ../../egcs-19980906/gcc/toplev.c, line 2114.
(gdb) r sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O9 -W -Wall -version -funr
oll-all-loops -fomit-frame-pointer -o sendmsg.s
Starting program: /home/manfred/work/GNU/egcs-19980906-i586-linux/gcc/cc1 sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O9 -W -Wall -version -funroll-all-loops -fomit-frame-pointer -o sendmsg.s
Breakpoint 1 at 0x4002b716: file ../sysdeps/generic/abort.c, line 50.
Breakpoint 2 at 0x4002c5f5: file exit.c, line 40.
GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i586-linux) compiled by GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental).

Program received signal SIGSEGV, Segmentation fault.
0x81cad75 in record_reg_life_pat (pat=0x0, src=0x2b, dest=0x82f9630, douse=137336336)
    at ../../egcs-19980906/gcc/reg-stack.c:297
297	       count; count--, regno++)
(gdb) bt
#0  0x81cad75 in record_reg_life_pat (pat=0x0, src=0x2b, dest=0x82f9630, douse=137336336)
    at ../../egcs-19980906/gcc/reg-stack.c:297
#1  0x2b in ?? ()
#2  0x8 in ?? ()
Cannot access memory at address 0x100036.
(gdb) l
292	   }
293	  else
294	     regno = REGNO (pat), mode = GET_MODE (pat);
295	
296	  for (count = HARD_REGNO_NREGS (regno, mode);
297	       count; count--, regno++)
298	     SET_HARD_REG_BIT (*set, regno);
299	}
300	^L
301	/* Reorganise the stack into ascending numbers,
(gdb) p count
$1 = 0
(gdb) p regno
$2 = 9
(gdb) p set
$3 = (HARD_REG_ELT_TYPE *) 0x2b
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) r sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O9 -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Starting program: /home/manfred/work/GNU/egcs-19980906-i586-linux/gcc/cc1 sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O9 -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Cannot insert breakpoint 1:
Temporarily disabling shared library breakpoints:
1 2 
GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i586-linux) compiled by GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental).

Program received signal SIGSEGV, Segmentation fault.
0x81cad75 in record_reg_life_pat (pat=0x0, src=0x2b, dest=0x82f9630, douse=137336336)
    at ../../egcs-19980906/gcc/reg-stack.c:297
297	       count; count--, regno++)
(gdb) k
Kill the program being debugged? (y or n) y
(gdb) r sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O2 -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Starting program: /home/manfred/work/GNU/egcs-19980906-i586-linux/gcc/cc1 sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O2 -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Cannot insert breakpoint 1:
Temporarily disabling shared library breakpoints:
1 2 
GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i586-linux) compiled by GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental).

Program received signal SIGSEGV, Segmentation fault.
0x81cad75 in record_reg_life_pat (pat=0x0, src=0x2b, dest=0x82f9938, douse=137337112)
    at ../../egcs-19980906/gcc/reg-stack.c:297
297	       count; count--, regno++)
(gdb) k
Kill the program being debugged? (y or n) y
(gdb) r sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Starting program: /home/manfred/work/GNU/egcs-19980906-i586-linux/gcc/cc1 sendmsg.i -quiet -dumpbase sendmsg.c -march=pentium -mcpu=pentium -g -O -W -Wall -version -fomit-frame-pointer -o sendmsg.s
Cannot insert breakpoint 1:
Temporarily disabling shared library breakpoints:
1 2 
GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental) (i586-linux) compiled by GNU C version egcs-2.92.02 19980906 (gcc2 ss-980609 experimental).

Program received signal SIGSEGV, Segmentation fault.
0x81cad75 in record_reg_life_pat (pat=0x0, src=0x2b, dest=0x82f87fc, douse=137332700)
    at ../../egcs-19980906/gcc/reg-stack.c:297
297	       count; count--, regno++)
(gdb) k
Kill the program being debugged? (y or n) y
(gdb) q
$ exit

Script done on Sun Sep  6 18:06:06 1998

manfred


sendmsg.i.gz


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