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]

Qn regarding building an application of smallest size for ARM-11 using gcc


Hi,

We are trying to build an application for ARM-11 using gcc and the
related auto make suite) that would occupy minimal size.

After adding the -Os and -mthumb we noticed that the size of the
stripped executable with a dependency on libc.so and libz.so was about
87K.
However, when we statically linked it the stripped size grew to 510 K.
We removed all code that uses any of string library or stdio and
instead use only system calls such as ioctl, read, write, mmap and
munmap. (verified using the symbol dumped out by readelf)
Despite this the size remains at 510K.
Trying to link with -nostdlib fails as it refers to undefined
reference to ioctl, read, write, mmap and munmap.
Trying to link with -nostartfiles brought down the size to only 502K.

Do the sys call routines need std libs to be linked in?
Is there an alternative to reduce the size of the statically linked
exe? (Assuming that it might be difficult to migrate all code to asm)

Would appreciate some help / guidance on this. In case there is
another forum/ list which would better annswer these question, please
fwd me to the same.

Thanks!
-Binesh


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