GCC 3.2 sparc-sun-solaris2.8 bootstrap fails with ICE: SEGV in calculate_global_regs_live
Rainer Orth
ro@TechFak.Uni-Bielefeld.DE
Thu May 16 13:39:00 GMT 2002
I just started a full bootstrap of mainline on sparc-sun-solaris2.8.
Unfortunately (compared to last night ;-() I get an ICE when building
libgcc during stage1:
./xgcc -B./ -B/vol/gcc/share/sparc-sun-solaris2.8/bin/ -isystem /vol/gcc/share/sparc-sun-solaris2.8/include -isystem /vol/gcc/share/sparc-sun-solaris2.8/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/vol/gnu/src/gcc/gcc-dist/gcc -I/vol/gnu/src/gcc/gcc-dist/gcc/. -I/vol/gnu/src/gcc/gcc-dist/gcc/config -I/vol/gnu/src/gcc/gcc-dist/gcc/../include -DL_ashldi3 -c /vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c -o libgcc/./_ashldi3.o
/vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c: In function `__ashldi3':
/vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c:297: internal error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[3]: *** [libgcc/./_ashldi3.o] Error 1
I get the following stack trace from cc1:
Program received signal SIGSEGV, Segmentation fault.
0x1f20dc in calculate_global_regs_live (blocks_in=0x766088,
blocks_out=0x766088, flags=0) at /vol/gnu/src/gcc/gcc-dist/gcc/flow.c:1124
(gdb) where
#0 0x1f20dc in calculate_global_regs_live (blocks_in=0x766088,
blocks_out=0x766088, flags=0) at /vol/gnu/src/gcc/gcc-dist/gcc/flow.c:1124
#1 0x1f0290 in update_life_info (blocks=0x766088, extent=UPDATE_LIFE_GLOBAL,
prop_flags=5) at /vol/gnu/src/gcc/gcc-dist/gcc/flow.c:661
#2 0x5559c8 in schedule_insns (dump_file=0x0)
at /vol/gnu/src/gcc/gcc-dist/gcc/sched-rgn.c:3049
#3 0x3e349c in rest_of_compilation (decl=0x778380)
at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:3107
#4 0x69990 in c_expand_body (fndecl=0x778380, nested_p=0, can_defer_p=1)
at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6840
#5 0x692d0 in finish_function (nested=0, can_defer_p=1)
at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6707
#6 0x33590 in yyparse () at c-parse.y:400
#7 0x41bcc in c_common_parse_file (set_yydebug=0)
at /vol/gnu/src/gcc/gcc-dist/gcc/c-lex.c:161
#8 0x3e0470 in compile_file () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:2062
#9 0x3e8ad0 in do_compile () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:5150
#10 0x3e8b4c in toplev_main (argc=16, argv=0xffbef634)
at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:5182
#11 0xe5ed0 in main (argc=16, argv=0xffbef634)
at /vol/gnu/src/gcc/gcc-dist/gcc/main.c:35
(gdb) up
#1 0x1f0290 in update_life_info (blocks=0x766088, extent=UPDATE_LIFE_GLOBAL,
prop_flags=5) at /vol/gnu/src/gcc/gcc-dist/gcc/flow.c:661
(gdb) down
#0 0x1f20dc in calculate_global_regs_live (blocks_in=0x766088,
blocks_out=0x766088, flags=0) at /vol/gnu/src/gcc/gcc-dist/gcc/flow.c:1124
At this point in calculate_global_regs_live, bb is NULL, leading to the
observed SEGV:
EXECUTE_IF_SET_IN_SBITMAP (blocks_in, 0, i,
{
bb = BASIC_BLOCK (i);
*--qhead = bb;
bb->aux = bb; <- l.1124
});
This is almost certainly due to this patch
2002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Basic block renumbering removal:
which was the last to touch the affected function.
Rainer
More information about the Gcc-bugs
mailing list