GCJ currently doesn't support x86_64 Windows, specifically x86_64-w64-mingw32.
I have made a patch that supports it. I know GCJ has been removed from GCC 7,
but I'm hoping this can still make it into GCC 6.
The changes were mostly to change 32bit ints to pointer sized ints.
unsigned long -> uintptr_t
jint -> jlong
Changing jint -> jlong is probably not right because that would change 32bit
builds. I wanted to change those jint to jsize and change jsize from int to
intptr_t, but wasn't sure of the effects.
The other big change was I had to replace boehm-gc with a newer version (7.2e,
7.2g crashes). GCC seems to have an out of date, custom version that doesn't
support x86_64 windows, and that only builds a static lib. I didn't include
that in the patch, but you can simply plant the newer version into the source
--- Comment #2 from Yale Zhang <yzhang1985 at gmail dot com> ---
(In reply to Andrew Pinski from comment #1)
> GCC 6 is in regression only fixes due to it being a release branch.
> Won't fix as Java was removed from GCC 7. There are other open source Java
> implementations including but not limited to OpenJDK.
I was afraid of that, but I want to compile to native code and AFAIK, GCJ is
the only one or if not, the only robust one. I think this change can be useful
to others and shouldn't be lost just because GCC 6 is limited to regression
fixes only. Is there a non-release branch that this can checked into?