aboutsummaryrefslogtreecommitdiff
path: root/coreutils (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* libbb: reduce the overhead of single parameter bb_error_msg() callsJames Byrne2019-07-0225-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in 2007, commit 0c97c9d43707 ("'simple' error message functions by Loic Grenie") introduced bb_simple_perror_msg() to allow for a lower overhead call to bb_perror_msg() when only a string was being printed with no parameters. This saves space for some CPU architectures because it avoids the overhead of a call to a variadic function. However there has never been a simple version of bb_error_msg(), and since 2007 many new calls to bb_perror_msg() have been added that only take a single parameter and so could have been using bb_simple_perror_message(). This changeset introduces 'simple' versions of bb_info_msg(), bb_error_msg(), bb_error_msg_and_die(), bb_herror_msg() and bb_herror_msg_and_die(), and replaces all calls that only take a single parameter, or use something like ("%s", arg), with calls to the corresponding 'simple' version. Since it is likely that single parameter calls to the variadic functions may be accidentally reintroduced in the future a new debugging config option WARN_SIMPLE_MSG has been introduced. This uses some macro magic which will cause any such calls to generate a warning, but this is turned off by default to avoid use of the unpleasant macros in normal circumstances. This is a large changeset due to the number of calls that have been replaced. The only files that contain changes other than simple substitution of function calls are libbb.h, libbb/herror_msg.c, libbb/verror_msg.c and libbb/xfuncs_printf.c. In miscutils/devfsd.c, networking/udhcp/common.h and util-linux/mdev.c additonal macros have been added for logging so that single parameter and multiple parameter logging variants exist. The amount of space saved varies considerably by architecture, and was found to be as follows (for 'defconfig' using GCC 7.4): Arm: -92 bytes MIPS: -52 bytes PPC: -1836 bytes x86_64: -938 bytes Note that for the MIPS architecture only an exception had to be made disabling the 'simple' calls for 'udhcp' (in networking/udhcp/common.h) because it made these files larger on MIPS. Signed-off-by: James Byrne <james.byrne@origamienergy.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* expand: add commented-out code to handle NULsDenys Vlasenko2019-06-091-8/+35
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* expand,unexpand: drop broken test, add FIXME commentDenys Vlasenko2019-06-081-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: fix SEGV when --color is used and ENABLE_LS_COLOR=nDenys Vlasenko2019-05-261-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: fix handling of short result of full_write(), closes 11711Denys Vlasenko2019-05-141-13/+13
| | | | | | | | | | | | | $ dd bs=1G <sda1 of=/dev/sda1 dd: error writing '/dev/sda1': No space left on device 1+0 records in 0+0 records out 999292928 bytes (953.0MB) copied, 0.784617 seconds, 1.2GB/s function old new delta write_and_stats 99 102 +3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ln: correct 'ln -T' usage messageJohn L. Hammond2019-05-091-1/+1
| | | | | Signed-off-by: John L. Hammond <jhammond@indeed.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* stat: reduce storage for human-readable filesystem namesRon Yorston2019-04-121-44/+48
| | | | | | | | | | | | | | | | function old new delta static.humanname - 236 +236 static.fstype - 140 +140 print_statfs 339 341 +2 static.humantypes 288 - -288 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 1/0 up/down: 378/-288) Total: 90 bytes text data bss dec hex filename 982183 485 7296 989964 f1b0c busybox_old 982152 485 7296 989933 f1aed busybox_unstripped Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fsync,sync: merge into one source moduleDenys Vlasenko2019-04-022-81/+61
| | | | | | | | | | | With FEATURE_SYNC_FANCY not set: function old new delta fsync_main 130 123 -7 With FEATURE_SYNC_FANCY set, should be much larger code size savings. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fsync,sync: make them similarDenys Vlasenko2019-04-022-27/+25
| | | | | | | | | | | | | | | | sync: add O_NOCTTY fsync: drop O_NOATIME, add O_NONBLOCK, set exitcode to 1 if fsync() fails, update --help message to be similar to sync. both: reformat code to minimize "diff -u sync.c fsync.c": in particular, they use same open() flags now function old new delta fsync_main 126 130 +4 packed_usage 33316 33317 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 5/0) Total: 5 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* top: tweak --helpDenys Vlasenko2019-02-271-12/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* du: don't count duplicate arguments. Closes 5288Ron Yorston2019-02-191-2/+2
| | | | | | | | | | | | | | | | Since coreutils 8.6 (2010-10-15) du no longer counts duplicate arguments. Revert the relevant part of commit 618a3027ed (du: fix "du /dir /dir" case). function old new delta du_main 302 297 -5 reset_ino_dev_hashtable 78 - -78 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-83) Total: -83 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: add 'oflag=append'Rostislav Skudnov2019-02-141-6/+10
| | | | | Signed-off-by: Rostislav Skudnov <rostislav@tuxera.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* date: improve help text for -DDenys Vlasenko2019-01-091-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sleep: support "inf"Denys Vlasenko2019-01-071-0/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: make -i compatible with coreutils: don't follow symlink by defaultMartijn Dekker2019-01-041-2/+2
| | | | | Signed-off-by: Martijn Dekker <martijn@inlv.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: more tweaksDenys Vlasenko2018-12-282-6/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: update size informationDenys Vlasenko2018-12-2869-80/+80
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cat,nl: fix handling of open errorsDenys Vlasenko2018-11-292-4/+9
| | | | | | | | | | | | | | | $ cat -n does_not_exist; echo $? cat: does_not_exist: No such file or directory 1 function old new delta print_numbered_lines 118 129 +11 nl_main 196 201 +5 cat_main 421 425 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 20/0) Total: 20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* printf: fix printf "%u\n" +18446744073709551614Denys Vlasenko2018-10-301-0/+8
| | | | | | | | | | | function old new delta conv_strtoll 19 32 +13 conv_strtoull 49 61 +12 bb_strtoll 89 84 -5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 25/-5) Total: 20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: do not have 'ocount' variable if ibs/obs support is not enabledDenys Vlasenko2018-10-301-13/+20
| | | | | | | | | | function old new delta packed_usage 32964 32961 -3 dd_main 1033 1021 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-15) Total: -15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: add 'oflag=seek_bytes'Rostislav Skudnov2018-10-301-9/+24
| | | | | | | | | | | | | | | Allow specifying position in the output file in bytes instead of obs-sized blocks, improve compatibility with GNU dd. function old new delta dd_main 1632 1693 +61 packed_usage 33130 33150 +20 static.oflag_words - 12 +12 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 93/0) Total: 93 bytes Signed-off-by: Rostislav Skudnov <rostislav@tuxera.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* printf: fix printing +-prefixed numbersBernhard Reutner-Fischer2018-10-191-2/+3
| | | | | | | | | | | | | | Thanks to Cristian Ionescu-Idbohrn for noticing. Also fix "%d" ' 42' to skip leading whitespace. function old new delta print_direc 435 454 +19 bb_strtoll 99 103 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 23/0) Total: 23 bytes Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* unzip: use printable_string() for printing filenamesDenys Vlasenko2018-09-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | function old new delta unzip_main 2726 2792 +66 printable_string2 - 57 +57 identify 4329 4336 +7 expmeta 659 663 +4 add_interface 99 103 +4 beep_main 286 289 +3 changepath 192 194 +2 builtin_type 115 117 +2 devmem_main 469 470 +1 input_tab 1076 1074 -2 create_J 1821 1819 -2 poplocalvars 314 311 -3 doCommands 2222 2214 -8 do_load 918 902 -16 printable_string 57 9 -48 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 8/6 up/down: 146/-79) Total: 67 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* timeout: fix arguments to match coreutilsDenys Vlasenko2018-08-031-9/+12
| | | | | | | | | | | | | Was: timeout [-t SECS] [-s SIG] PROG ARGS Is: timeout [-s SIG] SECS PROG ARGS function old new delta timeout_main 312 319 +7 packed_usage 32882 32858 -24 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 7/-24) Total: -17 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* extend fractional duration support to "top -d N.N" and "timeout"Denys Vlasenko2018-08-032-75/+9
| | | | | | | | | | | | | | | | function old new delta parse_duration_str - 168 +168 sleep_for_duration - 157 +157 top_main 885 928 +43 timeout_main 269 312 +43 handle_input 571 614 +43 duration_suffixes - 40 +40 sfx 40 - -40 sleep_main 364 79 -285 ------------------------------------------------------------------------------ (add/remove: 4/1 grow/shrink: 3/1 up/down: 494/-325) Total: 169 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: When -h is passed, the total should also be in human unitsLauri Kasanen2018-08-011-1/+9
| | | | | Signed-off-by: Lauri Kasanen <cand@gmx.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cp: placate gcc8Denys Vlasenko2018-08-011-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cp: add missing quote in config snippetDenys Vlasenko2018-07-171-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cp: optional --reflink supportDenys Vlasenko2018-07-131-0/+24
| | | | | | | | function old new delta cp_main 428 512 +84 copy_file 1676 1742 +66 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: add -V "sort version"Denys Vlasenko2018-07-081-20/+27
| | | | | | | | | | | | | function old new delta packed_usage 32855 32858 +3 get_key 500 503 +3 sort_opt_str 36 37 +1 sort_main 1037 1036 -1 compare_keys 795 783 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/2 up/down: 7/-13) Total: -6 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* nproc: implement --all --ignore=Nharoon maqsood2018-07-061-10/+34
| | | | | | | | | | | function old new delta nproc_main 98 242 +144 packed_usage 32799 32816 +17 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 161/0) Total: 161 bytes Signed-off-by: haroon maqsood <maqsood3525@live.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* install: fix "-D -t DIR1/DIR2/DIR3" creating only DIR1/DIR2, closes 11106Denys Vlasenko2018-06-221-1/+5
| | | | | | | function old new delta install_main 758 767 +9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* restore documentation on the build config languageKartik Agaram2018-06-061-1/+1
| | | | | | | | | | Kconfig-language.txt was deleted in commit 4fa499a17b52b back in 2006. Move to docs/ as suggested by Xabier Oneca: http://lists.busybox.net/pipermail/busybox/2014-May/080914.html Also update references to it everywhere. Signed-off-by: Kartik Agaram <akkartik@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* realpath,readlink -f: coreutils compat, closes 11021Denys Vlasenko2018-05-242-2/+2
| | | | | | | function old new delta xmalloc_realpath_coreutils - 121 +121 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cat: fix cat -e and cat -v erroneously numbering 1st lineDenys Vlasenko2018-04-291-3/+3
| | | | | | | function old new delta cat_main 418 421 +3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: add comments about [[, no code changesDenys Vlasenko2018-04-101-0/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* bzip2: fix two crashes on corrupted archivesDenys Vlasenko2018-04-081-1/+0
| | | | | | | | | | | | | | | | As it turns out, longjmp'ing into freed stack is not healthy... function old new delta unpack_usage_messages - 97 +97 unpack_bz2_stream 369 409 +40 get_next_block 1667 1677 +10 get_bits 156 155 -1 start_bunzip 212 183 -29 bb_show_usage 181 120 -61 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/3 up/down: 147/-91) Total: 56 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb.h: always include sys/resource.hDenys Vlasenko2018-04-081-1/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: rename bb_ask -> bb_ask_noecho, bb_ask_confirmation -> ↵Denys Vlasenko2018-04-071-1/+1
| | | | | | bb_ask_y_confirmation Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: smaller and more agressive FEATURE_SORT_OPTIMIZE_MEMORYDenys Vlasenko2018-04-061-12/+12
| | | | | | | function old new delta sort_main 1098 1037 -61 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: move misplaced commentDenys Vlasenko2018-04-041-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: FEATURE_SORT_OPTIMIZE_MEMORYDenys Vlasenko2018-04-041-6/+80
| | | | | | | | | | | | | | On sorting all kernel/linux/arch/ *.[ch] files, this reduces memory usage by 6%. yes | head -99999999 | sort goes down from 1900Mb to 380 Mb. function old new delta sort_main 862 1098 +236 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* stat: fix a typo: s/romfs/ramfs/, closes 10876Denys Vlasenko2018-03-311-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* md5sum: use config help text similar to other "sum" toolsDenys Vlasenko2018-03-081-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* df: do "rootfs" check soonerDenys Vlasenko2018-02-231-4/+5
| | | | | | | function old new delta df_main 1065 1064 -1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* df: 4TB+ support on 32 bits archDenys Vlasenko2018-02-231-8/+15
| | | | | | | | | Reported for Pascal Bellard. function old new delta df_main 1054 1065 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* od: move address_fmt[] from data to globals. 8 less bytes in data sectionDenys Vlasenko2018-02-221-8/+10
| | | | | | | | | | | | | function old new delta od_main 2164 2179 +15 address_fmt 8 - -8 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 15/-8) Total: 7 bytes text data bss dec hex filename 930954 481 6852 938287 e512f busybox_old 930977 473 6852 938302 e513e busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: fix potentially buggy use of OPT_STRDenys Vlasenko2018-02-221-12/+15
| | | | | | | | | | | This also makes OPT_STR reused: text data bss dec hex filename 930979 481 6852 938312 e5148 busybox_old 930954 481 6852 938287 e512f busybox_unstripped ^^^^^^ Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: in -s handling, return 1/-1, not 1/0 compare resultDenys Vlasenko2018-02-221-2/+3
| | | | | | | function old new delta compare_keys 794 795 +1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sort: fix -s. Closes 10671Denys Vlasenko2018-02-211-12/+57
| | | | | | | | | | function old new delta sort_main 786 862 +76 compare_keys 720 794 +74 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 150/0) Total: 150 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>