[Buildroot] Duplication and size of binaries in generated toolchain
Peter Korsgaard
jacmet at uclibc.org
Thu Mar 5 14:22:52 UTC 2009
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:
Hi,
Thomas> After compiling a toolchain with Buildroot (no packages, no
Thomas> kernel, see attached configuration file), I end up with
Thomas> duplicated binaries in the STAGING_DIR.
Thomas> Same story for as, c++, g++, gcc, ld, nm, objcopy, objdump, ranlib,
Thomas> strip. In total, it's 24 MB of binaries that are duplicated.
Thomas> I'm not sure why the binaries without the arm-linux prefix are needed
Thomas> in usr/arm-linux/bin. But if they are, couldn't they be symbolic links.
They are hard links to the same file:
find -type f -name \*ar|xargs stat
File: `./usr/bin/powerpc-linux-uclibc-ar'
Size: 3675834 Blocks: 7192 IO Block: 4096 regular file
Device: fe00h/65024d Inode: 3638102 Links: 2
Access: (0755/-rwxr-xr-x) Uid: ( 1000/ peko) Gid: ( 1000/ peko)
Access: 2009-03-05 13:39:31.000000000 +0100
Modify: 2009-03-05 13:39:31.000000000 +0100
Change: 2009-03-05 13:39:32.000000000 +0100
File: `./usr/powerpc-linux-uclibc/bin/ar'
Size: 3675834 Blocks: 7192 IO Block: 4096 regular file
Device: fe00h/65024d Inode: 3638102 Links: 2
Access: (0755/-rwxr-xr-x) Uid: ( 1000/ peko) Gid: ( 1000/ peko)
Access: 2009-03-05 13:39:31.000000000 +0100
Modify: 2009-03-05 13:39:31.000000000 +0100
Change: 2009-03-05 13:39:32.000000000 +0100
Thomas> Last question: why are the individual binutils so big ? For example,
Thomas> the strip program is 2.9 MB, ar is 2.4 MB. This looks ridiculously big
Thomas> for such simple tools. First of all, they are not stripped and they
Thomas> include debugging symbols, is it really necessary ? Even after
Thomas> stripping, strip itself is still ~650 KB. Is it because of the static
Thomas> linking against libbfd ?
I don't actually know. Bernhard?
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list