uClibc-20060901 and binary size

nunash newnashworks at gmail.com
Sat Oct 21 20:17:46 UTC 2006


Some more information:

I used pthread1.c example from
http://yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html

compilation flags; -Os -s -Wl,-elf2flt

gcc 4.1.1/uclibc 0.9.28 - (arm-elf) : size = 64480 bytes
gcc 3.4.6/uclibc-snapshot (armeb-linux-uclibc) : size = 315544 bytes
gcc 3.4.6/uclibc-0.9.28 (armeb-linux-uclibc) : size = 70,780 bytes

I've not tried gcc 4.1.1/uclibc-snapshot yet. With gcc 3.4.6 based
toolchain, I simply switched between versions of uclibc. I did not
change their configuration.

I did enable "Strip binaries and executables' and "Compile all sources
at once into an object" options in uclibc-snapshot configuration. If I
remove those options, then the binary size 369KB.

I can see it is pulling lot of symbols but I've not figured how to
remove them. -s option does not seem to do anything?  tried
-Wl,-elf2flt=v to check that.

The .gdb file size is 3 times large in the case of uclibc-snapshot vs
uclibc.0.9.28.

thanks
/kmk

On 10/20/06, Khem Raj <kraj at mvista.com> wrote:
>
>
> On Oct 20, 2006, at 3:52 PM, nunash wrote:
>
> We have gcc 3.4.6 based toolchain built using buildroot. We used
> uclibc-20060901. Everything statically built. No shared libraries at
> all.
>
> I noticed the binary size of a particular program was unusually large
> (369K) because I know that the codebase is small. So, I compiled the
> same program using different toolchain (gcc 4.1.1, uclibc-0.9.28). The
> new size was only 86K!!
>
> What is the size if you use gcc 4.1.1 based toolchain and current uclibc
> snapshot.
>
>
>
> Khem Raj <kraj at mvista.com>
> MontaVista Software Inc.
>
>
>
>



More information about the uClibc mailing list