mailing list of musl libc
 help / color / mirror / code / Atom feed
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)

      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).