summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-13ash: ^C with SIG_INGed SIGINT should not exit the shellDenys Vlasenko
function old new delta __pgetc 501 522 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-12sulogin: increase util-linux compatibilityDenys Vlasenko
Change to root's HOME. Set some envvars. Steal ctty if necessary and possible. function old new delta sulogin_main 240 340 +100 setup_environment 225 233 +8 su_main 479 474 -5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 108/-5) Total: 103 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-12reset: better --help textDenys Vlasenko
function old new delta packed_usage 34175 34233 +58 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-11nmeter: %[md] %[mw] - dirty file-backed pages, writeback pagesDenys Vlasenko
function old new delta collect_mem 333 387 +54 .rodata 104369 104380 +11 packed_usage 34184 34175 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 65/-9) Total: 56 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08ls: implement ls -sh (human-readable allocated blocks)Denys Vlasenko
function old new delta display_single 979 1018 +39 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08libbb/sha1: add a commentDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08awk: input numbers are never octal or hex (only program consts can be)Denys Vlasenko
function old new delta next_token 825 930 +105 getvar_i 114 129 +15 nextchar 49 53 +4 my_strtod 138 - -138 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 3/0 up/down: 124/-138) Total: -14 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08XXXsum: handle binary sums with " " in the pathEmanuele Giacomelli
If a line specifies a binary checksum whose path contains two adjacent spaces, when checking digests with -c the two spaces will be used as the separator between the digest and the pathname instead of " *", as shown: $ echo foo > "/tmp/two spaces" $ md5sum -b "/tmp/two spaces" # This is GNU md5sum d3b07384d113edec49eaa6238ad5ff00 */tmp/two spaces $ md5sum -b "/tmp/two spaces" | ./busybox md5sum -c md5sum: can't open 'spaces': No such file or directory spaces: FAILED md5sum: WARNING: 1 of 1 computed checksums did NOT match function old new delta md5_sha1_sum_main 503 496 -7 Signed-off-by: Emanuele Giacomelli <emanuele.giacomelli@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08libbb/sha1: simplify cpuid codeDenys Vlasenko
function old new delta sha1_begin 107 106 -1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08whitespace fixDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07libbb/sha1: tweak commentsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07powertop: fix cpuid asm: ebx saving/restoring is properly done by gccDenys Vlasenko
function old new delta print_intel_cstates 481 477 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07libbb/sha1: optional i686 hardware accelerates hashingDenys Vlasenko
function old new delta sha1_process_block64_shaNI - 524 +524 sha1_begin 57 114 +57 .rodata 104353 104369 +16 static.shaNI - 1 +1 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 2/0 up/down: 598/0) Total: 598 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07libbb/sha1: optional x86-64 hardware accelerates hashingDenys Vlasenko
function old new delta sha1_process_block64_shaNI - 510 +510 sha1_begin 52 107 +55 .rodata 108285 108301 +16 static.shaNI - 1 +1 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 2/0 up/down: 582/0) Total: 582 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-06fdisk: recognize EBBR protective partitionsVincent Stehlé
The MBR partition type 0xF8 is used by the Arm EBBR specification[1] for protective partitions over fixed-location firmware images. [1]: https://github.com/ARM-software/ebbr Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05libbb: change xstrndup, xmemdup to take size_t as size parameterDenys Vlasenko
Also, remove entirely usually-disabled paranoia check (was also using wrong config option to enable itself). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05libbb: code shrink: introduce and use [_]exit_SUCCESS()Denys Vlasenko
function old new delta exit_SUCCESS - 7 +7 _exit_SUCCESS - 7 +7 run_pipe 1562 1567 +5 pseudo_exec_argv 399 400 +1 finish 86 87 +1 start_stop_daemon_main 1109 1107 -2 shutdown_on_signal 38 36 -2 runsv_main 1662 1660 -2 redirect 1070 1068 -2 read_line 79 77 -2 pause_and_low_level_reboot 54 52 -2 list_i2c_busses_and_exit 483 481 -2 less_exit 12 10 -2 identify 4123 4121 -2 grep_file 1161 1159 -2 getty_main 1519 1517 -2 fsck_minix_main 2681 2679 -2 free_session 132 130 -2 fdisk_main 4739 4737 -2 clean_up_and_exit 53 51 -2 bsd_select 1566 1564 -2 bb_daemonize_or_rexec 198 196 -2 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 3/17 up/down: 21/-34) Total: -13 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05less: code shrinkDenys Vlasenko
function old new delta restore_tty - 29 +29 less_main 2107 2105 -2 getch_nowait 253 251 -2 buffer_print 614 612 -2 less_exit 51 12 -39 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/4 up/down: 29/-45) Total: -16 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-05sort: support -hDenys Vlasenko
function old new delta static.scale_suffix - 62 +62 .rodata 104304 104336 +32 compare_keys 820 848 +28 packed_usage 34159 34184 +25 static.suffix - 9 +9 sort_opt_str 37 38 +1 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 4/0 up/down: 157/0) Total: 157 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04sort: fix -s -r interaction: 'stable' order is not affected by -rDenys Vlasenko
function old new delta compare_keys 818 820 +2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04libbb: fflush_stdout_and_exit(0) still exits with _error_ (not 0!) if fflush ↵Denys Vlasenko
fails function old new delta fflush_stdout_and_exit 36 40 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04libbb: factor out fflush_stdout_and_exit(EXIT_SUCCESS)Denys Vlasenko
function old new delta fflush_stdout_and_exit_SUCCESS - 7 +7 xxd_main 890 888 -2 vlock_main 353 351 -2 uuencode_main 318 316 -2 uniq_main 427 425 -2 uname_main 250 248 -2 sort_main 853 851 -2 shuf_main 500 498 -2 route_main 238 236 -2 readlink_main 113 111 -2 nice_main 156 154 -2 last_main 957 955 -2 ipcs_main 960 958 -2 env_main 209 207 -2 chrt_main 464 462 -2 cal_main 921 919 -2 baseNUM_main 650 648 -2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/16 up/down: 7/-32) Total: -25 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04sed: correctly handle 'w FILE' commands writing to the same fileDenys Vlasenko
function old new delta sed_xfopen_w - 84 +84 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04build system: detect if build host has no bzip2Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04libbb/sha1: x86_64 version: reorder prologue/epilogue insnsDenys Vlasenko
Not clear exactly why, but this increases hashing speed on Skylake from 454 MB/s to 464 MB/s. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04md5/shaXsum: use FEATURE_COPYBUF_KB to size the buffer instead of fixed 4kDenys Vlasenko
function old new delta md5_sha1_sum_main 536 565 +29 hash_file 419 401 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 29/-18) Total: 11 bytes In my test, for unrolled sha1, COPYBUF_KB=64 increases throughput from 367 MB/s to 457 MB/s. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03libbb/sha1: x86_64 version: tidying up, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03typo fixDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03libbb/sha1: x86_64 version: generate from a script, optimize a bitDenys Vlasenko
function old new delta sha1_process_block64 3569 3502 -67 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03libbb/sha1: x86_64 version: move to a separate .S file, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-02libbb/sha1: code shrink in medium-speed versionDenys Vlasenko
function old new delta sha1_process_block64 654 641 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-01libbb/sha1: x86_64 version: bswap in 64-bit chunksDenys Vlasenko
function old new delta sha1_process_block64 3562 3570 +8 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-01libbb/sha1: shrink x86_64 version - use r8..15 for W[8..15]Denys Vlasenko
function old new delta sha1_process_block64 3683 3562 -121 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-01libbb/sha1: assembly versions for x86Denys Vlasenko
32 bits: function old new delta sha1_process_block64 3950 3657 -293 64 bits: sha1_process_block64 4167 3683 -484 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-31libbb/sha1: shrink and speed up fully unrolled versionDenys Vlasenko
function old new delta sha1_process_block64 4149 3950 -199 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-30libbb/sha1: add config-selectable partially unrolled versionDenys Vlasenko
function old new delta sha1_process_block64 364 732 +368 static.rconsts 16 - -16 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 368/-16) Total: 352 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-30libbb/sha1: add config-selectable fully unrolled version, closes 14391Denys Vlasenko
function old new delta sha1_process_block64 364 4167 +3803 static.rconsts 16 - -16 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 3803/-16) Total: 3787 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-29ed: add support for -s command-line option as mandated by POSIXSören Tempel
Apart from the -p option, POSIX also mandates an -s option which suppresses the output of byte counts for the e, E, r, and w command. From these commands, Busybox ed presently only implements the r and w commands. This commit ensures that these two command do not output any bytes counts when the -s option is passed. The shell escape command, also effected by the -s option, is not implemented by Busybox at the moment. function old new delta packed_usage 34096 34115 +19 doCommands 1887 1900 +13 readLines 388 397 +9 .rodata 104196 104200 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 45/0) Total: 45 bytes Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-29echo: add FIXME commentDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-28scripts/echo.c: fix NUL handling in "abc\0 def"Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-28libbb: cose shrink in sha1Denys Vlasenko
function old new delta sha1_process_block64 356 342 -14 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-26Start 1.36.0 development cycleDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-26Bump version to 1.35.01_35_01_35_stableDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-26httpd: fix compile failure if !FEATURE_HTTPD_RANGESDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-25sed: do not ignore 'g' modifier when match starts with ^Dominique Martinet
It is perfectly valid to start a regex with ^ and have other patterns with \| that can match more than once, e.g. the following example should print ca, as illustrated with gnu sed: $ echo 'abca' | sed -e 's/^a\|b//g' ca busybox before patch: $ echo 'abca' | busybox sed -e 's/^a\|b//g' bca busybox after patch: $ echo 'abca' | ./busybox sed -e 's/^a\|b//g' ca regcomp handles ^ perfectly well as illustrated with the second 'a' that did not match in the example, we ca leave the non-repeating to it if appropriate. The check had been added before using regcomp and was required at the time (f36635cec6da) but no longer makes sense now. (tested with glibc and musl libc) function old new delta add_cmd 1189 1176 -13 Signed-off-by: Dominique Martinet <asmadeus@codewreck.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-19ed: align output of read command with POSIX.1-2008Sören Tempel
POSIX.1-2008 mandates the following regarding the read command: If the read is successful, and -s was not specified, the number of bytes read shall be written to standard output in the following format: "%d\n", <number of bytes read> This commit aligns the output of busybox ed with POSIX.1-2008 by removing the file name from the output for the read command. This slipped through in 4836a0708fd0aaeb82871a3762b40fcf4b61e812. function old new delta .rodata 104203 104196 -7 readLines 409 388 -21 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-28) Total: -28 bytes Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-19ed: fix current line number for file passed via the command-lineSören Tempel
POSIX.1-2008 mandates the following regarding the file command-line argument: If the file argument is given, ed shall simulate an e command on the file named by the pathname […] The specification for the e command mandates the following behaviour regarding the current line number in POSIX.1-2008: The current line number shall be set to the address of the last line of the buffer. However, without this commit, busybox ed will set the current line number to 1 if a file is given on the command-line and this file is not empty (lastNum != 0). This is incorrect and fixed in this commit by not modifying the current line number in ed_main(). As such, the current line number will be zero for empty files and otherwise be set to the address of the last line of the buffer. function old new delta ed_main 144 128 -16 Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-17timeout: add support for "timeout -k KILL_SECS"Matthew Slowe
function old new delta timeout_main 307 373 +66 timeout_wait - 42 +42 .rodata 104201 104203 +2 packed_usage 34097 34096 -1 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/1 up/down: 110/-1) Total: 109 bytes Signed-off-by: Matthew Slowe <foo@mafoo.org.uk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-17cmp: code shrinkDenys Vlasenko
function old new delta .rodata 104203 104201 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-17ed: add support for -p command-line option as mandated by POSIXSören Tempel
The POSIX.1-2008 specification of ed(1) mandates two command-line options: -p (for specifying a prompt string) and -s (to suppress writing of byte counts). This commit adds support for the former. Furthermore, it also changes the default prompt string to an empty string (instead of ": ") since this is also mandated by POSIX: -p string Use string as the prompt string when in command mode. By default, there shall be no prompt string. function old new delta ed_main 112 144 +32 packed_usage 34074 34097 +23 doCommands 1889 1887 -2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 55/-2) Total: 53 bytes Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>