This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Binary size of statically linked java application
David Daney wrote:
<snip>
Libgcj-3.4.3 is running embedded on mipsel-linux on several hundred
thousand HD television sets.
Wow, cool!
If you are interested in the patches we
did to trim down libgcj for that, let me know. The basic technique is
to statically link and then look at the linker map to see if there are
things included that you think should be unneeded. If so, modify the
libgcj source so that they are no longer referenced.
That's pretty much the same as my approach with the difference that in
my approach, GCJ doesn't have to be recompiled after every change and
libgcj.a can be reused in the original state.
That's because after having completely created a stub, the original
libgcj.a can be used again. As soon as the stub is linked into the the
binary, the objects from the archive won't be pulled in any more
(because the depencies are already satisfied).
So I usually remove all objects with e.g. GUI classes, create a binary
with all remaining objects (without libgcj.a of course) and resolve all
depencies. This way, all depencies for the GUI classes will always be
satisfied when using the stub. No matter what the source is...
Marco