This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
BUG: CVS egcs-2.92.02 19980906: program cc1 got fatal signal 11
- To: egcs-bugs at cygnus dot com
- Subject: BUG: CVS egcs-2.92.02 19980906: program cc1 got fatal signal 11
- From: Manfred Hollstein <manfred at s-direktnet dot de>
- Date: Sun, 6 Sep 1998 19:12:45 +0200 (MEST)
- Reply-To: manfred at s-direktnet dot de, Manfred dot Hollstein at ks dot sel dot alcatel dot de
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