[Bug bootstrap/14221] Compiler from stage1 ICE on system header: Illegal instruction
v dot haisman at sh dot cvut dot cz
gcc-bugzilla@gcc.gnu.org
Tue Mar 2 00:55:00 GMT 2004
------- Additional Comments From v dot haisman at sh dot cvut dot cz 2004-03-02 00:54 -------
(gdb) run -fpreprocessed crtstuff.i -quiet -dumpbase crtstuff.c -march=pentium3
-auxbase-strip crtbegin.o -g0 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -version -finhibit-size-directive
-fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss
-fno-unit-at-a-time -o crtstuff.s
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/4/wilx/tmp/gcc34/objdir/gcc/cc1 -fpreprocessed
crtstuff.i -quiet -dumpbase crtstuff.c -march=pentium3 -auxbase-strip crtbegin.o
-g0 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -version -finhibit-size-directive -fno-inline-functions
-fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time -o crtstuff.s
Breakpoint 2 at 0x80494dc
Breakpoint 3 at 0x80491fc
Breakpoint 2 at 0x28501c5d
Breakpoint 3 at 0x285013ec
GNU C version 3.4.0 20040301 (prerelease) (i386-unknown-freebsd4.9)
compiled by GNU C version 3.4.0 20040301 (prerelease).
GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=32395
Program received signal SIGILL, Illegal instruction.
ggc_collect_1 (zone=0x8413a20, need_marking=true) at
../../srcdir/gcc/ggc-zone.c:1072
1072 float min_expand = allocated_last_gc * PARAM_VALUE
(GGC_MIN_EXPAND) / 100;
(gdb) info line ../../srcdir/gcc/ggc-zone.c:1072
Line 1072 of "../../srcdir/gcc/ggc-zone.c" starts at address 0x828dd79
<ggc_collect_1+57>
and ends at 0x828dd81 <ggc_collect_1+65>.
(gdb) disassemble 0x828dd79 0x828dd81
Dump of assembler code from 0x828dd79 to 0x828dd81:
0x0828dd79 <ggc_collect_1+57>: cvtsi2ss 0x184(%ecx),%xmm0
End of assembler dump.
It seems that this is the instructions that causes the SIGILL. What is strange
is that it should work. This instruction is part of P3 instruction set and
according to the CPUID utility output the CPU is P3.
...
I think it must be some huge misinterpretation of facts on my side because
anything that uses vector extensions and is compiled with -msse gives me SIGILL.
I can bootstrap with just --with-arch=i686 fine.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14221
More information about the Gcc-bugs
mailing list