sparc-sun-solaris2.8 bootstrap failure

Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Mon Jul 14 17:32:00 GMT 2003


Current mainline fails to bootstrap on Solaris 8/SPARC:

/vol/gcc/obj/gcc-3.4-20030714/8-gcc/gcc/xgcc -B/vol/gcc/obj/gcc-3.4-20030714/8-gcc/gcc/ -B/vol/gcc/share/sparc-sun-solaris2.8/bin/ -B/vol/gcc/share/sparc-sun-solaris2.8/lib/ -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_negdi2 -c /vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c -o libgcc/./_negdi2.o
/vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c: In function `__negdi2':
/vol/gnu/src/gcc/gcc-dist/gcc/libgcc2.c:75: internal compiler error: Segmentation Fault

cc1 crashes here:

Program received signal SIGSEGV, Segmentation fault.
0x0031a1f8 in make_edges (label_value_list=0x0, min=0x3fbbb0, max=0x3fbbb0, 
    update_p=1) at /vol/gnu/src/gcc/gcc-dist/gcc/cfgbuild.c:306
(gdb) where
#0  0x0031a1f8 in make_edges (label_value_list=0x0, min=0x3fbbb0, 
    max=0x3fbbb0, update_p=1) at /vol/gnu/src/gcc/gcc-dist/gcc/cfgbuild.c:306
#1  0x0031aeec in find_many_sub_basic_blocks (blocks=0x47a5c8)
    at /vol/gnu/src/gcc/gcc-dist/gcc/cfgbuild.c:775
#2  0x0026ea58 in split_all_insns (upd_life=1)
    at /vol/gnu/src/gcc/gcc-dist/gcc/recog.c:2755
#3  0x002c641c in rest_of_compilation (decl=0xff047400)
    at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:3457
#4  0x0005e84c in c_expand_body_1 (fndecl=0xff047400, nested_p=0)
    at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6414
#5  0x0005e438 in finish_function (nested=0, can_defer_p=1)
    at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6284
#6  0x0003e6bc in yyparse () at c-parse.y:387
#7  0x00041b6c in c_parse_file () at c-parse.y:3032
#8  0x000908ec in c_common_parse_file (set_yydebug=1)
    at /vol/gnu/src/gcc/gcc-dist/gcc/c-opts.c:1216
#9  0x002c37e4 in compile_file ()
    at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:1930
#10 0x002c8830 in do_compile () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:4771
#11 0x002c8938 in toplev_main (argc=4506624, argv=0xffbef4b4)
    at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:4812

In cfgbuild.c (make_edges), 

  FOR_BB_BETWEEN (bb, min, max->next_bb, next_bb)
    {
      rtx insn, x;
      enum rtx_code code;
      int force_fallthru = 0;

      if (GET_CODE (bb->head) == CODE_LABEL && LABEL_ALT_ENTRY_P (bb->head))
	cached_make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0);


bb->head is NULL, so GET_CODE gets the SEGV.

It looks like a very recent failure, given that the tree bootstrapped on
Solaris 7 yesterday:

	http://gcc.gnu.org/ml/gcc-testresults/2003-07/msg00783.html

	Rainer



More information about the Gcc mailing list