From: "Stefan Fröberg" <stefan.froberg@petroprogram.com>
To: buildroot@busybox.net
Subject: [Buildroot] RTLD_DEEPBIND and uClibc
Date: Thu, 17 Jan 2013 20:47:45 +0200 [thread overview]
Message-ID: <50F84751.8090102@petroprogram.com> (raw)
In-Reply-To: <201301171844.27209.yann.morin.1998@free.fr>
Hi Yann
17.1.2013 19:44, Yann E. MORIN kirjoitti:
> Stefan, All,
>
> On Thursday 17 January 2013 Stefan Fr?berg wrote:
>> 17.1.2013 10:31, Thomas Petazzoni kirjoitti:
>>> Whenever you start having X.org on a system and a window manager, most
>>> likely you have hundreds of megabytes of flash, and therefore, the size
>>> difference between uClibc and glibc (probably somewhere between 1 and
>>> 1.5 MB) isn't that much of a problem anymore.
>> Eh... I think it's more than 1 - 1.5 MB :-)
> The full set of libraries from a full-blown eglibc, for an ARM gnueabihf
> target, is:
> Unstripped Stripped
> Only eglibc libs 3.6MiB 2.3MiB
> With gcc's libs 8.8MiB 3.0MiB
>
> And for a relatively complete uClibc for x86_64 target:
> Unstripped Stripped
> Only eglibc libs 2.0MiB 1.0MiB
> With gcc's libs 6.9MiB 1.9MiB
>
> (gcc libs: libstdc++ and libgcc_s)
> (These are not the same architecture, but I went for the toolchains I have
> locally)
>
> So, typically, speaking only about the C library libs, the gain would be
> around ~1.5MiB.
Here's the contents of my target /lib
*yhteens? 1,4M*
drwxr-xr-x. 6 root root 3,0K 17.1. 15:32 .
drwxr-xr-x. 20 root root 1,0K 13.1. 17:35 ..
drwxr-xr-x. 64 root root 10K 17.1. 15:31 firmware
-rwxr-xr-x. 1 root root 29K 17.1. 15:32 ld-uClibc-0.9.33.2.so
lrwxrwxrwx. 1 root root 21 7.1. 00:27 ld-uClibc.so.0 ->
ld-uClibc-0.9.33.2.so
lrwxrwxrwx. 1 root root 17 8.1. 20:20 libblkid.so.1 -> libblkid.so.1.1.0
-rwxr-xr-x. 1 root root 152K 17.1. 15:31 libblkid.so.1.1.0
-rwxr-xr-x. 1 root root 25K 17.1. 15:32 libcrypt-0.9.33.2.so
lrwxrwxrwx. 1 root root 20 7.1. 00:27 libcrypt.so.0 ->
libcrypt-0.9.33.2.so
lrwxrwxrwx. 1 root root 21 7.1. 00:27 libc.so.0 -> libuClibc-0.9.33.2.so
-rwxr-xr-x. 1 root root 13K 17.1. 15:32 libdl-0.9.33.2.so
lrwxrwxrwx. 1 root root 17 7.1. 00:27 libdl.so.0 -> libdl-0.9.33.2.so
lrwxrwxrwx. 1 root root 13 7.1. 00:44 libgcc_s.so -> libgcc_s.so.1
-rw-r--r--. 1 root root 89K 17.1. 15:32 libgcc_s.so.1
-rwxr-xr-x. 1 root root 49K 17.1. 15:31 libm-0.9.33.2.so
lrwxrwxrwx. 1 root root 17 8.1. 20:20 libmount.so.1 -> libmount.so.1.1.0
-rwxr-xr-x. 1 root root 152K 17.1. 15:31 libmount.so.1.1.0
lrwxrwxrwx. 1 root root 16 7.1. 00:27 libm.so.0 -> libm-0.9.33.2.so
-rwxr-xr-x. 1 root root 4,5K 17.1. 15:32 libnsl-0.9.33.2.so
lrwxrwxrwx. 1 root root 18 7.1. 00:27 libnsl.so.0 -> libnsl-0.9.33.2.so
lrwxrwxrwx. 1 root root 17 7.1. 20:47 libpamc.so -> libpamc.so.0.82.1
lrwxrwxrwx. 1 root root 17 7.1. 20:47 libpamc.so.0 -> libpamc.so.0.82.1
-rwxr-xr-x. 1 root root 9,6K 17.1. 15:32 libpamc.so.0.82.1
lrwxrwxrwx. 1 root root 21 7.1. 20:47 libpam_misc.so ->
libpam_misc.so.0.82.0
lrwxrwxrwx. 1 root root 21 7.1. 20:47 libpam_misc.so.0 ->
libpam_misc.so.0.82.0
-rwxr-xr-x. 1 root root 8,1K 17.1. 15:32 libpam_misc.so.0.82.0
lrwxrwxrwx. 1 root root 16 7.1. 20:47 libpam.so -> libpam.so.0.83.1
lrwxrwxrwx. 1 root root 16 7.1. 20:47 libpam.so.0 -> libpam.so.0.83.1
-rwxr-xr-x. 1 root root 45K 17.1. 15:31 libpam.so.0.83.1
-rwxr-xr-x. 1 root root 74K 17.1. 15:31 libpthread-0.9.33.2.so
lrwxrwxrwx. 1 root root 22 7.1. 00:27 libpthread.so.0 ->
libpthread-0.9.33.2.so
-rwxr-xr-x. 1 root root 4,5K 17.1. 15:32 libresolv-0.9.33.2.so
lrwxrwxrwx. 1 root root 21 7.1. 00:27 libresolv.so.0 ->
libresolv-0.9.33.2.so
-rwxr-xr-x. 1 root root 13K 17.1. 15:31 librt-0.9.33.2.so
lrwxrwxrwx. 1 root root 17 7.1. 00:27 librt.so.0 -> librt-0.9.33.2.so
-rwxr-xr-x. 1 root root 690K 17.1. 15:31 libuClibc-0.9.33.2.so
-rwxr-xr-x. 1 root root 4,7K 17.1. 15:31 libutil-0.9.33.2.so
lrwxrwxrwx. 1 root root 19 7.1. 00:27 libutil.so.0 ->
libutil-0.9.33.2.so
lrwxrwxrwx. 1 root root 16 8.1. 20:20 libuuid.so.1 -> libuuid.so.1.3.0
-rwxr-xr-x. 1 root root 14K 17.1. 15:31 libuuid.so.1.3.0
drwxr-xr-x. 3 root root 1,0K 9.1. 04:01 modules
drwxr-xr-x. 3 root root 5,0K 17.1. 15:31 security
drwxr-xr-x. 3 root root 1,0K 8.1. 22:41 udev
As you can see from the top of the line the total sum of uClibc + *all
the other stuff (pam etc..)* is just
1.4 MB (the size of libuClibc-0.9.33.2.so itself is just 690 KB)
So uClibc wins this round :-)
> How large is your Xorg stack?
> Then, compare that 1.5MiB to the size of your Xorg stack. What's the ratio?
You mean how much Xorg stuff from buildroot I have installed into my
target system???
Short answer: Full
Well, almost, left only xterm (replaced with rxvt-unicode which
lighter), twm (replaced with fluxbox)
and xeyes (totally useless application) out.
> If you're 1.5MiB short of space, then probably Xorg is not the solution for
> your platform.
>
> Of course, switching to uClibc as a learning experience is very
> intreresting. But no more. ;-)
>
> Regards,
> Yann E. MORIN.
BTW, I forgot to mention in my message to Thomas that that 520 MB
uncompressed Live-CD stuff does
also contain the full linux 3.3.1 kernel and *all* the drivers compiled
as modules
(Live-CD without that would be useless when running it in myriad x86
machines with allkinds of hardware)
Regards
Stefan
next prev parent reply other threads:[~2013-01-17 18:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-16 12:51 [Buildroot] RTLD_DEEPBIND and uClibc Stefan Fröberg
2013-01-16 23:00 ` Thomas Petazzoni
2013-01-17 0:36 ` Stefan Fröberg
2013-01-17 8:31 ` Thomas Petazzoni
2013-01-17 13:50 ` Stefan Fröberg
2013-01-17 16:18 ` Alex Bradbury
2013-01-17 16:51 ` Stefan Fröberg
2013-01-17 17:09 ` Alex Bradbury
2013-01-17 18:48 ` Stefan Fröberg
2013-01-17 22:03 ` Peter Korsgaard
2013-01-17 17:44 ` Yann E. MORIN
2013-01-17 18:47 ` Stefan Fröberg [this message]
2013-01-17 20:38 ` Yann E. MORIN
2013-01-17 20:41 ` Yann E. MORIN
2013-01-17 20:51 ` Stefan Fröberg
2013-01-17 21:17 ` Yann E. MORIN
2013-01-17 21:23 ` Stefan Fröberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50F84751.8090102@petroprogram.com \
--to=stefan.froberg@petroprogram.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.