From d60752f8c9be5689a249ad518deb38061d4bc45e Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 7 Oct 2015 22:42:45 +0200 Subject: build system: -fno-builtin-printf Benefits are: drops reference to out-of-line putchar(), fixes a few cases of failed string merge. function old new delta i2cdump_main 1488 1502 +14 sha256_process_block64 423 433 +10 sendmail_main 1183 1185 +2 list_table 1114 1116 +2 i2cdetect_main 1235 1237 +2 fdisk_main 2852 2854 +2 builtin_type 119 121 +2 unicode_conv_to_printable2 325 324 -1 scan_recursive 380 378 -2 mkfs_minix_main 2687 2684 -3 buffer_fill_and_print 178 169 -9 putchar 152 - -152 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 7/4 up/down: 34/-167) Total: -133 bytes text data bss dec hex filename 937788 932 17676 956396 e97ec busybox_old 937564 932 17676 956172 e970c busybox_unstripped Signed-off-by: Denys Vlasenko --- shell/ash.c | 2 +- shell/hush.c | 2 +- shell/shell_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'shell') diff --git a/shell/ash.c b/shell/ash.c index b835415..7d20b88 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -9681,7 +9681,7 @@ preadfd(void) } # if ENABLE_ASH_IDLE_TIMEOUT else if (errno == EAGAIN && timeout > 0) { - printf("\007timed out waiting for input: auto-logout\n"); + puts("\007timed out waiting for input: auto-logout"); exitshell(); } # endif diff --git a/shell/hush.c b/shell/hush.c index bccd9c1..f085ed3 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -6794,7 +6794,7 @@ static int checkjobs(struct pipe *fg_pipe) int sig = WTERMSIG(status); if (i == fg_pipe->num_cmds-1) /* TODO: use strsignal() instead for bash compat? but that's bloat... */ - printf("%s\n", sig == SIGINT || sig == SIGPIPE ? "" : get_signame(sig)); + puts(sig == SIGINT || sig == SIGPIPE ? "" : get_signame(sig)); /* TODO: if (WCOREDUMP(status)) + " (core dumped)"; */ /* TODO: MIPS has 128 sigs (1..128), what if sig==128 here? * Maybe we need to use sig | 128? */ diff --git a/shell/shell_common.c b/shell/shell_common.c index 2b6f7dc..8c9607c 100644 --- a/shell/shell_common.c +++ b/shell/shell_common.c @@ -380,7 +380,7 @@ static void printlim(unsigned opts, const struct rlimit *limit, val = limit->rlim_cur; if (val == RLIM_INFINITY) - printf("unlimited\n"); + puts("unlimited"); else { val >>= l->factor_shift; printf("%llu\n", (long long) val); -- cgit v1.1