[Bug libgcj/33114] jc1 segault building lljava/java/util/AbstractMap.java

dps at simpson dot demon dot co dot uk gcc-bugzilla@gcc.gnu.org
Tue Aug 21 21:49:00 GMT 2007



------- 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



More information about the Gcc-bugs mailing list