From: Denys Vlasenko <vda.linux@googlemail.com>
To: Rich Felker <dalias@libc.org>
Cc: busybox <busybox@busybox.net>, Felix Fietkau <nbd@nbd.name>,
musl <musl@lists.openwall.com>
Subject: Re: bbox: musl versus uclibc
Date: Tue, 15 Aug 2017 00:13:31 +0200 [thread overview]
Message-ID: <CAK1hOcMoTFksB1i0Sho93p31Hu0kkWZMnNLVL9EssT4jxtDiVA@mail.gmail.com> (raw)
In-Reply-To: <20170814184812.GS1627@brightrain.aerifal.cx>
[-- Attachment #1: Type: text/plain, Size: 683 bytes --]
On Mon, Aug 14, 2017 at 8:48 PM, Rich Felker <dalias@libc.org> wrote:
>> Now, the good news - musl has smaller data!
>> 6695 bytes versus 7129 bytes for uclibc:
>>
>> text data bss dec hex filename
>> 894902 465 6664 902031 dc38f busybox.uclibc
>> 912538 563 6132 919233 e06c1 busybox.musl
>
> Probably getpw*/getgr* static buffers or something. musl's backend for
> these just uses the buffer out of getline so as not to impose cost in
> apps that don't need the legacy (non-_r) functions or an arbitrary
> limit on record length.
>
> It would be interesting to know where the text size increase comes
> from.
See attached (only musl data is in the file).
[-- Attachment #2: busybox_unstripped.map.data --]
[-- Type: application/octet-stream, Size: 7510 bytes --]
.bss.mal 0x0000000008128460 0x410 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(malloc.o)
.bss.buf 0x0000000008128ce0 0x408 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stdout.o)
.bss.buf 0x00000000081288c0 0x408 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stdin.o)
.bss.builtin 0x0000000008128340 0x104 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(atexit.o)
.data.f 0x0000000008128160 0x88 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stdout.o)
.data.f 0x00000000081280c0 0x88 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stdin.o)
.data.f 0x0000000008128020 0x88 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stderr.o)
.bss.tm.1099 0x0000000008129120 0x2c /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(gmtime.o)
.bss.tm.1097 0x0000000008129160 0x2c /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(localtime.o)
.bss.buf.1360 0x00000000081288a0 0x20 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getservbyport.o)
.bss 0x00000000081292a0 0x20 /usr/app/musl_toolchain-2017-08-12/lib/gcc/i686-linux-musl/6.3.0/crtbeginT.o
.bss.buf.1073 0x000000000812956c 0x1a /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(asctime.o)
.bss.mnt.1328 0x0000000008129424 0x18 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(mntent.o)
.bss.main_tls 0x0000000008129548 0x18 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__init_tls.o)
.bss.r1 0x00000000081294fc 0x14 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.r0 0x0000000008129510 0x14 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.x.1686 0x0000000000000000 0x12 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(ether.o)
.bss.se.1359 0x0000000008129470 0x10 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getservbyport.o)
.bss.se.1359 0x0000000008129460 0x10 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getservbyname.o)
.bss.buf.1404 0x0000000008129480 0x10 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(inet_ntoa.o)
.bss.__tzname 0x0000000008129538 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.seed 0x0000000008129298 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(rand.o)
.bss.ofl_lock 0x00000000081294a4 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(ofl.o)
.bss.lock 0x00000000081294d8 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.lock 0x0000000008129448 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(syslog.o)
.bss.lock 0x00000000081293f0 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(atexit.o)
.bss.buf.1360 0x0000000008129458 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getservbyname.o)
.bss.buf 0x00000000081294b0 0x8 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(stderr.o)
.bss.std_name 0x0000000008129530 0x7 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.dst_name 0x0000000008129528 0x7 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.a.1673 0x0000000000000000 0x6 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(ether.o)
.data.optind 0x0000000008128200 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getopt.o)
.data.opterr 0x00000000081281fc 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getopt.o)
.data.old_tz 0x000000000812821c 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.data.log_fd 0x0000000008128204 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(syslog.o)
.data 0x0000000008128224 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__set_thread_area.o)
.data 0x0000000000000000 0x4 /usr/app/musl_toolchain-2017-08-12/lib/gcc/i686-linux-musl/6.3.0/crtbeginT.o
.bss.zi 0x00000000081294f8 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.types 0x00000000081294ec 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.trans 0x00000000081294f4 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.slot 0x00000000081293f8 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(atexit.o)
.bss.p.1071 0x00000000081294b8 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(strtok.o)
.bss.ofl_head 0x00000000081294ac 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(ofl.o)
.bss.map_size 0x00000000081294e0 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.log_opt 0x0000000008129444 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(syslog.o)
.bss.linesize 0x000000000812940c 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getusershell.o)
.bss.line 0x0000000008129410 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getusershell.o)
.bss.index 0x00000000081294f0 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.head 0x00000000081294d4 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(synccall.o)
.bss.head 0x00000000081293fc 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(atexit.o)
.bss.h.1616 0x0000000008129450 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(gethostbyaddr.o)
.bss.h.1615 0x0000000008129454 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(gethostbyname2.o)
.bss.f 0x0000000008129408 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(getusershell.o)
.bss.end.2954 0x0000000008129414 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(malloc.o)
.bss.end.1443 0x0000000000000000 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(lite_malloc.o)
.bss.dummy 0x00000000081294bc 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(synccall.o)
.bss.dummy 0x0000000000000000 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(fflush.o)
.bss.dst_off 0x0000000008129524 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
.bss.cur.1442 0x0000000000000000 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(lite_malloc.o)
.bss.context 0x00000000081294c0 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(synccall.o)
.bss.callback 0x00000000081294c4 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(synccall.o)
.bss.brk.1556 0x0000000008129564 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(expand_heap.o)
.bss.abbrevs 0x00000000081294e8 0x4 /usr/app/musl_toolchain-2017-08-12/i686-linux-musl/lib/libc.a(__tz.o)
prev parent reply other threads:[~2017-08-14 22:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-14 17:43 Denys Vlasenko
2017-08-14 17:59 ` wdlkmpx
2017-08-16 12:34 ` Thomas Petazzoni
2017-08-16 12:57 ` Jorge Almeida
2017-08-17 4:29 ` Waldemar Brodkorb
2017-08-16 13:25 ` Denys Vlasenko
2017-08-16 13:36 ` Thomas Petazzoni
2017-08-17 4:35 ` [musl] " Waldemar Brodkorb
2017-08-14 18:18 ` Emmanuel Deloget
2017-08-14 18:48 ` Rich Felker
2017-08-14 22:13 ` Denys Vlasenko [this message]
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=CAK1hOcMoTFksB1i0Sho93p31Hu0kkWZMnNLVL9EssT4jxtDiVA@mail.gmail.com \
--to=vda.linux@googlemail.com \
--cc=busybox@busybox.net \
--cc=dalias@libc.org \
--cc=musl@lists.openwall.com \
--cc=nbd@nbd.name \
/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.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).