public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andrew Hughes <gnu.andrew@redhat.com>
To: R0b0t1 <r030t1@gmail.com>
Cc: Yale Zhang <yzhang1985@gmail.com>, java <java@gcc.gnu.org>
Subject: Re: add support for x86_64-w64-mingw32 and cut the fat from libgcj
Date: Mon, 01 Jan 2018 03:42:00 -0000	[thread overview]
Message-ID: <CABi63P7dsRJgvP9CoHP7kPWocsn6BYPjtVizMYnUo3aSNEZDog@mail.gmail.com> (raw)
In-Reply-To: <CAAD4mYiV7i7FQMxV8rK_LaeRSzg_uDezfFzbYTp4_0VFR=3JLQ@mail.gmail.com>

On 27 December 2017 at 03:00, R0b0t1 <r030t1@gmail.com> wrote:
> On Sun, Dec 24, 2017 at 10:58 PM, Yale Zhang <yzhang1985@gmail.com> wrote:
>> Hurray, this list is still alive!
>>
>> Here's what I plan to do. If I don't hear from any maintainers in the
>> next 2 weeks, I'll submit the MingW64 patch to the GCC Bugzilla. But
>> not much hope there because I already submitted a few other bugs
>> almost all still remain as "unconfirmed". So then I'll just post it on
>> my Google personal site or maybe write something on instructables.com.
>> Or maybe I already did enough by uploading to this list.
>>
>
> This sounds okay, but instructables is very niche. I would recommend
> putting your code on GitHub somehow. You can probably move faster than
> 2 weeks to submit it to the tracker - this list is very inactive.

I'll second the idea of GitHub.

I'm pretty sure most of the people still "exist" - no-one died as far
as I'm aware -
but they have indeed moved onto other pastures and are unlikely to want to
review patches. The reason GCJ was eventually deleted was because just keeping
it buildable with the rest of GCC was becoming an unnecessary burden.

It's probably worth noting that this isn't just any two weeks. For
many countries, this
is winter holiday season and, even when the project was heavily
active, I doubt you'd
have got a response on Christmas Eve / Christmas Day.

>
>> "Do your changes make it impossible to use the functionality you cut out?"
>>
>> Correct, I would not propose adding this to libjava as is. Most of the
>> bloat can't be removed by the compiler because it might be used or
>> even if it's never used, the compiler doesn't know any better.
>>
>> an example would be
>> UI:
>>
>> System()
>> {
>>    if (showVMConsole)
>>    {
>>       // show VM console GUI
>>    }
>> }
>> I haven't proven this but that's my guess how a simple hello world
>> program drags Swing into the EXE.
>>
>> As you suspected, there could be unused dead code that the linker
>> should remove. I haven't confirmed any cases. For dead code removal to
>> happen, I think it's necessary to compile with -ffunction-sections and
>> -fdata-sections and link with --gc-sections. I can check if they're on
>> and if not, how much additional space is saved by enabling them.
>>
>
> This is a question I think you should ask about on the general GCC
> list, as it receives more traffic. At least one past GCJ maintainer
> still comments.
>
> I think it is possible that libjava never sees optimization. I do not
> know enough about the internals of GCC to know for certain, but I can
> think of two reasons:
> 1) As a separate library, it is not possible to do dead code removal
> as it is not being compiled.
> 2) GCJ always includes the entire library.
>
> If it is #2, I think it is due to reasons like you outlined - the
> entire default classpath may be extremely interdependent. GCJ is still
> fairly incomplete.
>

I don't know much about the GCJ internals either, but I am still (technically)
the GNU Classpath maintainer, which is/was upstream of GCJ. There are
quite a number of options already that allow the scope of the library to be
limited. Are you making use of these?

>>
>> So, what changes did you want to make to GCJ?
>>
>
> I was hoping to keep GCJ up to date to use it for OpenJDK
> bootstrapping. It would keep the trusted codebase for FOSS systems
> smaller than it currently is.
>

This is pretty much my continued interest in it, but I'm tending
towards alternate
solutions than trying to maintain GCJ. See:

https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2813
-- 
Andrew :)

Senior Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Web Site: http://fuseyism.com
Twitter: https://twitter.com/gnu_andrew_java
PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222

  reply	other threads:[~2018-01-01  3:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-24 19:44 Yale Zhang
2017-12-25  0:33 ` R0b0t1
2017-12-25  4:58   ` Yale Zhang
2017-12-27  3:00     ` R0b0t1
2018-01-01  3:42       ` Andrew Hughes [this message]
2018-01-01  9:00   ` Andrew Haley
2018-01-01 10:38 ` Brian Jones
2018-01-01 21:03   ` Yale Zhang
2018-01-02  9:58     ` Andrew Haley
2018-01-02 10:00     ` Andrew Haley
2018-01-02 10:04     ` Ricardo Wurmus
2017-12-24 19:46 Yale Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABi63P7dsRJgvP9CoHP7kPWocsn6BYPjtVizMYnUo3aSNEZDog@mail.gmail.com \
    --to=gnu.andrew@redhat.com \
    --cc=java@gcc.gnu.org \
    --cc=r030t1@gmail.com \
    --cc=yzhang1985@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).