[PATCH] misc size-shrinkage; merges

Bernhard Fischer rep.nop at aon.at
Fri Aug 18 15:53:59 UTC 2006


Hello,

Just a heads up..
I plan to push the below patchset (split-up, of course) into my
'busybox_scratch' branch soonish, then merge that branch back into
trunk.
Unfortunately i have not yet setup a local git repo mainly because i
didn't sit down and see what steps are needed to set that nifty tool up,
i admit, so pushing that patch into the official svn will be a little
bit of a pain for me..

The majority of the patch -- i.e. the libunarchival changes -- were
provoked by a bug introduced by Rob when he added a function to xfuncs.c
into an improper place and i managed to miss this simple fact early
enough. Still these changes are ok to have, so i will not back them out.

The rest (about 20 or 30 k) are simplifications of some coreutils
applets and the ipc* applets, as can be seen in the diffstat below.

The current branch contains additional changes that saved (IIRC) a few
hundred bytes, refer to svn for details.

stats:

$ size busybox.old busybox
   text    data     bss     dec     hex filename
 865954   11200  644900 1522054  173986 busybox.old
 864744   11204  644900 1520848  1734d0 busybox
$ make bloatcheck
function                                             old     new   delta
ipcrm_main                                           696     790     +94
getval                                                 -      45     +45
maybe_set_utc                                          -      31     +31
__divdi3                                             416     424      +8
opt                                                    4       8      +4
format                                                 -       1      +1
part                                                   1       -      -1
supress_non_delimited_lines                            4       -      -4
static.l                                               4       -      -4
static.c                                               5       1      -4
__udivdi3                                            328     324      -4
watch_main                                           270     265      -5
eval2                                                334     328      -6
arithmetic_common                                    211     205      -6
cmp_main                                             397     390      -7
cmpfunc                                               28      13     -15
cksum_main                                           269     254     -15
__moddi3                                             551     535     -16
ipcs_main                                           3373    3344     -29
cut_main                                             646     545    -101
cut_file                                             676     558    -118
remove_ids                                           192       -    -192
date_main                                           1392    1136    -256
.rodata                                           186634  186314    -320
dd_main                                             1898    1532    -366
------------------------------------------------------------------------------
(add/remove: 3/4 grow/shrink: 3/15 up/down: 183/-1469)      Total: -1286 bytes


http://busybox.net/~aldot/bb/busybox.scratch.20060818-1734.diff

 Makefile                                            |    1 
 Rules.mak                                           |   14 
 archival/dpkg.c                                     |    7 
 archival/libunarchive/archive_xread_all.c           |    6 
 archival/libunarchive/archive_xread_all_eof.c       |    6 
 archival/libunarchive/check_header_gzip.c           |    2 
 archival/libunarchive/data_align.c                  |    6 
 archival/libunarchive/data_extract_all.c            |    8 
 archival/libunarchive/data_extract_to_stdout.c      |    2 
 archival/libunarchive/data_skip.c                   |    6 
 archival/libunarchive/decompress_bunzip2.c          |    7 
 archival/libunarchive/decompress_uncompress.c       |    6 
 archival/libunarchive/decompress_unzip.c            |    2 
 archival/libunarchive/filter_accept_all.c           |    2 
 archival/libunarchive/filter_accept_list.c          |    2 
 archival/libunarchive/filter_accept_list_reassign.c |    4 
 archival/libunarchive/filter_accept_reject_list.c   |    2 
 archival/libunarchive/find_list_entry.c             |    2 
 archival/libunarchive/get_header_ar.c               |    6 
 archival/libunarchive/get_header_cpio.c             |    7 
 archival/libunarchive/get_header_tar.c              |    6 
 archival/libunarchive/get_header_tar_bz2.c          |    7 
 archival/libunarchive/get_header_tar_gz.c           |    2 
 archival/libunarchive/header_list.c                 |    1 
 archival/libunarchive/header_skip.c                 |    1 
 archival/libunarchive/header_verbose_list.c         |    4 
 archival/libunarchive/init_handle.c                 |    2 
 archival/libunarchive/open_transformer.c            |    3 
 archival/libunarchive/seek_by_char.c                |    5 
 archival/libunarchive/seek_by_jump.c                |    6 
 archival/libunarchive/unpack_ar_archive.c           |    6 
 coreutils/catv.c                                    |   44 -
 coreutils/cksum.c                                   |   36 -
 coreutils/cmp.c                                     |   65 --
 coreutils/cut.c                                     |  477 +++++++---------
 coreutils/date.c                                    |  261 ++++----
 coreutils/dd.c                                      |  155 ++---
 coreutils/du.c                                      |   10 
 coreutils/expr.c                                    |  408 ++++++-------
 coreutils/sum.c                                     |   15 
 coreutils/tail.c                                    |   20 
 coreutils/tee.c                                     |   17 
 coreutils/watch.c                                   |   26 
 include/libbb.h                                     |    8 
 include/unarchive.h                                 |    2 
 include/usage.h                                     |   10 
 libbb/xfuncs.c                                      |   18 
 testsuite/all_sourcecode.tests                      |    1 
 util-linux/ipcrm.c                                  |  216 ++-----
 util-linux/ipcs.c                                   |  583 +++++++++-----------
 50 files changed, 1127 insertions(+), 1386 deletions(-)




More information about the busybox mailing list