Re: About static linking with gcj

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: About static linking with gcj

by Andrew Haley :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

l.civinini@... wrote:

> Hi all,
> I'm trying to make  static linking in order to obtain a java executable
> to use on a device with few hardisk space.
> I created a simple java that made
> only a "System.out.println" and after c
> ompiling I obtained am executable file
> of 29 MB. Is it possibile to
> shrink the size of executable? Am I doing
> something worng?
> This is the command that I'm using.
>
>  gcc -o Foo Foo.o Foomain.
> i -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as-
> needed -lz -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed

It's difficult.  The nature of the Java library is such that a lot of
stuff is required, and you'll find it gets linked in.  SOme folks on the
gcc list have done work in this area, but it's tricky.

Andrew.


Re: About static linking with gcj

by David Daney-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andrew Haley wrote:

> l.civinini@... wrote:
>> Hi all,
>> I'm trying to make  static linking in order to obtain a java executable
>> to use on a device with few hardisk space.
>> I created a simple java that made
>> only a "System.out.println" and after c
>> ompiling I obtained am executable file
>> of 29 MB. Is it possibile to
>> shrink the size of executable? Am I doing
>> something worng?
>> This is the command that I'm using.
>>
>>  gcc -o Foo Foo.o Foomain.
>> i -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as-
>> needed -lz -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed
>
> It's difficult.  The nature of the Java library is such that a lot of
> stuff is required, and you'll find it gets linked in.  SOme folks on the
> gcc list have done work in this area, but it's tricky.
>

You can use -static-libgcj since GCC-4.2.

Also you can try the patches I posted to java-patches@ recently to try
to reduce the size of the statically linked applications.

The best I have been able to achieve on GCC-4.3.4 is about 10MB.

David Daney