------- Comment #2 from dps at simpson dot demon dot co dot uk 2007-08-21 21:49 ------- Subject: Re: jc1 segault building lljava/java/util/AbstractMap.java
No CLASSPATH variable exists in the build environment. The compiler was confiugred with ../gcc/configure --prefix=/usr --enabled-shared and the gcc, libjava, etc source tree was in ../gcc. The gcc source itself was in ../gcc/gcc. The make command was "make bootstrap" or "nice make bootstrap". Using a completely clean directory did not change anything. The segfault is repeatable on at least my system. The jc1 instance was extracted from the last compile command with --verbose and -save-temps. A lot of versions of the source from svn are all affected. (I hace been sitting on this misbehaviour for at least a week.) If you add if (n_initialised==0) { fprintf(stderr, "fini_ssa_operands called with n_initialsised==0\n"); return; } at the top of fini_ssa_operands then I get a pile of those messages after the complains about non extant methods and no segfault. Instead gcj returns "correctly" with exit status 1. Arguably this not ideal but IMHO a distinct improvement. I took this as evidence that no input whatsoever was meant to lead to fini_ssa_operands calls when n_initialised is 0. (Exactly how far the code has proceeded from the java frontend to the backend before the segfault strikes I have not determined.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33114