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 <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2015-10-07 22:42:45 +02:00
parent 8c0708a329
commit d60752f8c9
24 changed files with 127 additions and 124 deletions

View File

@@ -371,9 +371,9 @@ static int ask(const char *string, int def)
}
}
if (def)
printf("y\n");
puts("y");
else {
printf("n\n");
puts("n");
errors_uncorrected = 1;
}
return def;
@@ -405,7 +405,7 @@ static void check_mount(void)
if (isatty(0) && isatty(1))
cont = ask("Do you really want to continue", 0);
if (!cont) {
printf("Check aborted\n");
puts("Check aborted");
exit(EXIT_SUCCESS);
}
}
@@ -470,8 +470,8 @@ static void write_block(unsigned nr, void *addr)
if (!nr)
return;
if (nr < FIRSTZONE || nr >= ZONES) {
printf("Internal error: trying to write bad block\n"
"Write request ignored\n");
puts("Internal error: trying to write bad block\n"
"Write request ignored");
errors_uncorrected = 1;
return;
}
@@ -659,7 +659,7 @@ static void read_tables(void)
if (INODE_BUFFER_SIZE != read(dev_fd, inode_buffer, INODE_BUFFER_SIZE))
die("can't read inodes");
if (NORM_FIRSTZONE != FIRSTZONE) {
printf("warning: firstzone!=norm_firstzone\n");
puts("warning: firstzone!=norm_firstzone");
errors_uncorrected = 1;
}
get_dirsize();
@@ -713,7 +713,7 @@ static void get_inode_common(unsigned nr, uint16_t i_mode)
} else
links++;
if (!++inode_count[nr]) {
printf("Warning: inode count too big\n");
puts("Warning: inode count too big");
inode_count[nr]--;
errors_uncorrected = 1;
}
@@ -1299,7 +1299,7 @@ int fsck_minix_main(int argc UNUSED_PARAM, char **argv)
}
if (changed) {
write_tables();
printf("FILE SYSTEM HAS BEEN CHANGED\n");
puts("FILE SYSTEM HAS BEEN CHANGED");
sync();
} else if (OPT_repair)
write_superblock();