[Bug java/83647] New: add x86_64 Windows support to GCJ

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug java/83647] New: add x86_64 Windows support to GCJ

braddock.c at husky dot neu.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83647

            Bug ID: 83647
           Summary: add x86_64 Windows support to GCJ
           Product: gcc
           Version: 6.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: java
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yzhang1985 at gmail dot com
  Target Milestone: ---

Created attachment 43002
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43002&action=edit
The changes to natVMConsole.cc are only for MingW. Probably these changes don't
need to be in GCC and can be downstream

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.
Specifically,

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
code.
Reply | Threaded
Open this post in threaded view
|

[Bug java/83647] add x86_64 Windows support to GCJ

braddock.c at husky dot neu.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83647

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
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.
Reply | Threaded
Open this post in threaded view
|

[Bug java/83647] add x86_64 Windows support to GCJ

braddock.c at husky dot neu.edu
In reply to this post by braddock.c at husky dot neu.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83647

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