This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: About static linking with gcj


Andrew Haley wrote:
l.civinini@libero.it 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]