Denys Vlasenko
39369ff460
libbb/sha1: use SSE2 in unrolled x86-64 code. ~10% faster
...
function old new delta
.rodata 108241 108305 +64
sha1_process_block64 3502 3495 -7
------------------------------------------------------------------------------
(add/remove: 5/0 grow/shrink: 1/1 up/down: 64/-7) Total: 57 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-23 12:57:27 +01:00
Denys Vlasenko
1e825acf8d
libbb: shrink lineedit_read_key()
...
function old new delta
lineedit_read_key 237 231 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-18 00:36:42 +01:00
Denys Vlasenko
8ad2acf352
fix "defined but not used" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-17 23:59:46 +01:00
Denys Vlasenko
12566e7f9b
ash,hush: fix handling of SIGINT while waiting for interactive input
...
function old new delta
lineedit_read_key 160 237 +77
__pgetc 522 589 +67
fgetc_interactive 244 309 +65
safe_read_key - 39 +39
read_key 588 607 +19
record_pending_signo 23 32 +9
signal_handler 75 81 +6
.rodata 104312 104309 -3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 6/1 up/down: 282/-3) Total: 279 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-17 11:46:23 +01:00
Denys Vlasenko
a277506a64
shell: add comments about SIGINT-related problems
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-16 23:54:46 +01:00
Denys Vlasenko
c2788f88f4
libbb: introduce and use chdir_or_warn()
...
function old new delta
chdir_or_warn - 37 +37
send_cgi_and_exit 720 711 -9
xchdir 27 15 -12
setup_environment 233 217 -16
fork_job 449 433 -16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 37/-53) Total: -16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 12:56:10 +01:00
Denys Vlasenko
931c55f9e2
libbb: invert the meaning of SETUP_ENV_NO_CHDIR -> SETUP_ENV_CHDIR
...
Double negatives are hard to grok.
function old new delta
login_main 986 988 +2
su_main 474 470 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-4) Total: -2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 12:50:48 +01:00
Denys Vlasenko
b3eec1651f
sulogin: util-linux does not say "normal startup" on Ctrl-D
...
function old new delta
sulogin_main 341 331 -10
.rodata 104327 104312 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-25) Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 01:43:11 +01:00
Denys Vlasenko
96771ec5f5
sulogin: start _login_ shell only with -p
...
Also, shorten/eliminate messages to be closer to util-linux.
function old new delta
packed_usage 34233 34238 +5
sulogin_main 340 341 +1
.rodata 104380 104327 -53
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 6/-53) Total: -47 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 01:38:47 +01:00
Denys Vlasenko
68b402ee51
ash: ^C with SIG_INGed SIGINT should not exit the shell
...
function old new delta
__pgetc 501 522 +21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-13 01:15:10 +01:00
Denys Vlasenko
d162a7b978
sulogin: increase util-linux compatibility
...
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-12 23:19:11 +01:00
Denys Vlasenko
004cefa918
reset: better --help text
...
function old new delta
packed_usage 34175 34233 +58
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-12 17:21:14 +01:00
Denys Vlasenko
524fecf7c3
nmeter: %[md] %[mw] - dirty file-backed pages, writeback pages
...
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-11 19:32:16 +01:00
Denys Vlasenko
ff8fda8482
ls: implement ls -sh (human-readable allocated blocks)
...
function old new delta
display_single 979 1018 +39
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08 22:59:49 +01:00
Denys Vlasenko
143356876b
libbb/sha1: add a comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08 22:43:24 +01:00
Denys Vlasenko
e2952dfaff
awk: input numbers are never octal or hex (only program consts can be)
...
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-08 22:42:35 +01:00
Emanuele Giacomelli
84a1305888
XXXsum: handle binary sums with " " in the path
...
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-08 17:16:00 +01:00
Denys Vlasenko
e7ff29402d
libbb/sha1: simplify cpuid code
...
function old new delta
sha1_begin 107 106 -1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08 01:25:23 +01:00
Denys Vlasenko
805ececa61
whitespace fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-08 00:41:09 +01:00
Denys Vlasenko
0bab5da37e
libbb/sha1: tweak comments
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07 14:55:31 +01:00
Denys Vlasenko
89092c61bc
powertop: fix cpuid asm: ebx saving/restoring is properly done by gcc
...
function old new delta
print_intel_cstates 481 477 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-07 01:33:46 +01:00
Denys Vlasenko
a96ccbefe4
libbb/sha1: optional i686 hardware accelerates hashing
...
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-07 01:32:13 +01:00
Denys Vlasenko
711e20ecb8
libbb/sha1: optional x86-64 hardware accelerates hashing
...
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-07 00:43:59 +01:00
Vincent Stehlé
a93668cc42
fdisk: recognize EBBR protective partitions
...
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-06 10:55:53 +01:00
Denys Vlasenko
6062c0d19b
libbb: change xstrndup, xmemdup to take size_t as size parameter
...
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-05 23:03:54 +01:00
Denys Vlasenko
db5546ca10
libbb: code shrink: introduce and use [_]exit_SUCCESS()
...
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-05 22:16:06 +01:00
Denys Vlasenko
076f5e064f
less: code shrink
...
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-05 22:04:21 +01:00
Denys Vlasenko
34e0bb3931
sort: support -h
...
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-05 12:05:55 +01:00
Denys Vlasenko
cc7d2e2178
sort: fix -s -r interaction: 'stable' order is not affected by -r
...
function old new delta
compare_keys 818 820 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04 23:53:21 +01:00
Denys Vlasenko
dfd8aafcf5
libbb: fflush_stdout_and_exit(0) still exits with _error_ (not 0!) if fflush fails
...
function old new delta
fflush_stdout_and_exit 36 40 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04 23:36:16 +01:00
Denys Vlasenko
31f45c1b36
libbb: factor out fflush_stdout_and_exit(EXIT_SUCCESS)
...
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-04 23:31:58 +01:00
Denys Vlasenko
286b33721d
sed: correctly handle 'w FILE' commands writing to the same file
...
function old new delta
sed_xfopen_w - 84 +84
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04 19:42:36 +01:00
Denys Vlasenko
ed2af2e82d
build system: detect if build host has no bzip2
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-04 14:32:41 +01:00
Denys Vlasenko
c3cfcc9242
libbb/sha1: x86_64 version: reorder prologue/epilogue insns
...
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-04 01:45:52 +01:00
Denys Vlasenko
1fc520ed28
md5/shaXsum: use FEATURE_COPYBUF_KB to size the buffer instead of fixed 4k
...
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-04 00:51:04 +01:00
Denys Vlasenko
7abb2bb96e
libbb/sha1: x86_64 version: tidying up, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03 17:02:48 +01:00
Denys Vlasenko
4387077f8e
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03 13:14:09 +01:00
Denys Vlasenko
947bef0dea
libbb/sha1: x86_64 version: generate from a script, optimize a bit
...
function old new delta
sha1_process_block64 3569 3502 -67
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03 13:10:30 +01:00
Denys Vlasenko
05fd13ebec
libbb/sha1: x86_64 version: move to a separate .S file, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-03 12:57:36 +01:00
Denys Vlasenko
5c0c558231
libbb/sha1: code shrink in medium-speed version
...
function old new delta
sha1_process_block64 654 641 -13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-02 01:56:35 +01:00
Denys Vlasenko
4d4f1f2096
libbb/sha1: x86_64 version: bswap in 64-bit chunks
...
function old new delta
sha1_process_block64 3562 3570 +8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-01 15:42:15 +01:00
Denys Vlasenko
d643010fee
libbb/sha1: shrink x86_64 version - use r8..15 for W[8..15]
...
function old new delta
sha1_process_block64 3683 3562 -121
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-01 15:01:53 +01:00
Denys Vlasenko
5f68170204
libbb/sha1: assembly versions for x86
...
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>
2022-01-01 13:57:34 +01:00
Denys Vlasenko
f09d088fdf
libbb/sha1: shrink and speed up fully unrolled version
...
function old new delta
sha1_process_block64 4149 3950 -199
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-31 17:07:47 +01:00
Denys Vlasenko
0b62a08777
libbb/sha1: add config-selectable partially unrolled version
...
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-30 18:54:02 +01:00
Denys Vlasenko
25aadc893d
libbb/sha1: add config-selectable fully unrolled version, closes 14391
...
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-30 13:17:16 +01:00
Sören Tempel
9173c9cce4
ed: add support for -s command-line option as mandated by POSIX
...
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-29 19:01:32 +01:00
Denys Vlasenko
0e2cb6d1e2
echo: add FIXME comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-29 07:26:23 +01:00
Denys Vlasenko
0fcc7f5f73
scripts/echo.c: fix NUL handling in "abc\0 def"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-28 21:05:59 +01:00
Denys Vlasenko
f1d06462e8
libbb: cose shrink in sha1
...
function old new delta
sha1_process_block64 356 342 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-28 09:05:12 +01:00