This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgcj/33114] jc1 segault building lljava/java/util/AbstractMap.java
- From: "dps at simpson dot demon dot co dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Aug 2007 21:49:12 -0000
- Subject: [Bug libgcj/33114] jc1 segault building lljava/java/util/AbstractMap.java
- References: <bug-33114-11242@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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