This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: add support for x86_64-w64-mingw32 and cut the fat from libgcj
- From: Yale Zhang <yzhang1985 at gmail dot com>
- To: Brian Jones <cbjones1 at gmail dot com>
- Cc: java at gcc dot gnu dot org
- Date: Mon, 1 Jan 2018 16:03:47 -0500
- Subject: Re: add support for x86_64-w64-mingw32 and cut the fat from libgcj
- Authentication-results: sourceware.org; auth=none
- References: <CALQF7ZxMGdFEYLfknXJRavDYEKWDxuYwcrX51EjAS7NooJvvRg@mail.gmail.com> <3BC75108-7D53-4CCB-AFEF-51C8EC98F9B3@gmail.com>
Alright, I've submitted my request & patch to bugzilla:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83647
"Having said that, I'm quite happy to accept mingw patches if there is a
live branch to apply them to."
Under the target version, I saw a tentative 6.4.1, so there still could be
hope this can make it into GCC 6.
I also did the experiment of compiling libgcj with -ffunction-sections
-fdata-sections and then use --gc-sections when linking to see if that
helps remove dead code. Somehow, that instead increased the size of a
simple test program (with multithreading & sockets) from 4.54 to 4.72 MiB.
"I was hoping to keep GCJ up to date to use it for OpenJDK bootstrapping"
That paranoid? Why not use the minimal Eclipse Java compiler which
Classpath uses for bootstrapping? It sounds like ECJ can't be trusted if it
was compiled with an untrusted/unknown compiler.
On Mon, Jan 1, 2018 at 5:38 AM, Brian Jones <cbjones1@gmail.com> wrote:
> I believe the idea of including only code which you specify is required
> came up before on the list many years ago. Hopefully a search through
> archives can be instructive.
>
> Brian
>
> > On Dec 24, 2017, at 2:44 PM, Yale Zhang <yzhang1985@gmail.com> wrote:
> >
> > Greetings. I have a patch that allows GNU java to target MingW64
> > (host=GNU/Linux only). Are you guys still taking patches now that Java
> > has been removed from GCC 7? Or would it be more appropriate to host
> > it on my own website or instructables.com?
> >
> > I also have another patch that cuts all the GUI, cryptography, and non
> > UTF8/16 charset support from libgcj. This reduces the size of
> > statically linked EXEs a lot (~27MiB to 4.5 MiB for a hello world
> > program). This is important for a legacy utility that other developers
> > use on Windows and who don't want to install a Java runtime.
> >
> > Commenting out and deleting code is a crude way to do, I know. Should
> > use conditional compilation and even explore what's causing GUI code
> > to be dragged into a hello world program. Maybe dead code removal
> > isn't working (need to compile with -ffunction-sections and
> > --gc-sections?)
> >
> > appreciate your feedback,
> > -Yale
>