Denys Vlasenko
ca466f385a
*: slap on a few ALIGN* where appropriate
...
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map"
function old new delta
.rodata 108586 108460 -126
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-126) Total: -126 bytes
text data bss dec hex filename
970412 4219 1848 976479 ee65f busybox_old
970286 4219 1848 976353 ee5e1 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-06 19:53:10 +01:00
Denys Vlasenko
4f40735c87
libbb/sha256: code shrink in 32-bit x86
...
function old new delta
sha256_process_block64_shaNI 722 713 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-06 00:56:13 +01:00
Denys Vlasenko
31c1c31077
libbb/sha256: code shrink in 64-bit x86
...
function old new delta
sha256_process_block64_shaNI 706 701 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-06 00:33:42 +01:00
Denys Vlasenko
a1429fbb8c
libbb/sha256: code shrink in 64-bit x86
...
function old new delta
sha256_process_block64_shaNI 730 706 -24
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-03 15:17:42 +01:00
Denys Vlasenko
de6cb4bed8
libbb/sha256: code shrink in 32-bit x86
...
function old new delta
sha256_process_block64_shaNI 747 722 -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-03 15:11:23 +01:00
Denys Vlasenko
6472ac9428
libbb/sha256: optional x86 hardware accelerated hashing
...
64 bit:
function old new delta
sha256_process_block64_shaNI - 730 +730
.rodata 108314 108586 +272
sha256_begin 31 83 +52
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 2/0 up/down: 1055/-1) Total: 1054 bytes
32 bit:
function old new delta
sha256_process_block64_shaNI - 747 +747
.rodata 104318 104590 +272
sha256_begin 29 84 +55
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 2/0 up/down: 1075/-1) Total: 1074 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-02-03 14:58:02 +01:00
Denys Vlasenko
205042c07a
libbb/sha1: in unrolled x86-64 code, pass initial W[] in registers, not on stack
...
This can be faster on some CPUs.
On Skylake, evidently load latency from L1 (or store-to-load
forwarding in LSU) is fast enough to completely hide
memory reference latencies here.
function old new delta
sha1_process_block64 3495 3514 +19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-01-25 17:21:45 +01:00
Denys Vlasenko
99e22d230d
cut: build fix for FEATURE_CUT_REGEX
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-01-24 07:07:17 +01:00
Denys Vlasenko
f12fb1e409
sed: fix handling of escaped delimiters in s/// replacement
...
function old new delta
parse_regex_delim 111 140 +29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-01-23 19:04:27 +01:00
Denys Vlasenko
e998c7c032
sed: fix handling of escaped delimiters in s/// search pattern, closes 14541
...
function old new delta
copy_parsing_escapes 67 96 +29
parse_regex_delim 109 111 +2
get_address 213 215 +2
add_cmd 1176 1178 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 35/0) Total: 35 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-01-23 18:48:49 +01:00
Denys Vlasenko
33a9f34df5
add busybox_ldscript.README.txt
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2022-01-23 15:46:05 +01:00
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
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
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
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
Denys Vlasenko
44075929a8
Start 1.36.0 development cycle
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-26 18:40:55 +01:00
Denys Vlasenko
e512aeb0fb
Bump version to 1.35.0
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-26 17:55:58 +01:00
Denys Vlasenko
97c00ae134
httpd: fix compile failure if !FEATURE_HTTPD_RANGES
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-26 14:29:37 +01:00
Denys Vlasenko
c1eac153e8
cmp: code shrink
...
function old new delta
.rodata 104203 104201 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-17 22:43:45 +01:00
Denys Vlasenko
00d10cb6eb
docs/embedded-scripts.txt: whitespace fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-17 21:38:02 +01:00
Denys Vlasenko
b720629dfe
httpd: do not send Last-Modified / ETag / Content-Length for error pages
...
function old new delta
send_headers 713 701 -12
send_headers_and_exit 20 34 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-17 21:02:16 +01:00
Denys Vlasenko
70683faf38
httpd: don't send Content-Length in error pages header
...
function old new delta
send_headers 701 713 +12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-17 20:37:58 +01:00
Denys Vlasenko
e67b80f473
udhcpc6: fix udhcp_find_option to actually find DHCP6 options
...
udhcp_insert_new_option treats code for IPv6 as follows:
new->data[D6_OPT_CODE] = code >> 8;
new->data[D6_OPT_CODE + 1] = code & 0xff;
udhcp_find_option tests the code as follows:
while (opt_list && opt_list->data[OPT_CODE] < code)
...
if (opt_list && opt_list->data[OPT_CODE] == code)
So yes, OPT_CODE and D6_OPT_CODE are both 0, but the D6_OPT_CLIENTID =
1 value means that the 1 is in the seconds byte, and udhcp_find_option
is only looking at the first byte, So the send_d6_release can never
find it the created option.
function old new delta
udhcp_find_option 28 53 +25
attach_option 276 284 +8
udhcpc6_main 2602 2607 +5
perform_d6_release 262 267 +5
udhcpd_main 1518 1520 +2
udhcpc_main 2542 2544 +2
add_serverid_and_clientid_options 46 48 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 7/0 up/down: 49/0) Total: 49 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-12 17:13:54 +01:00
Denys Vlasenko
c7b90dc4d1
uudecode: special-case "/dev/stdout", closes 14241
...
function old new delta
uudecode_main 295 322 +27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-12 00:34:15 +01:00
Denys Vlasenko
27df6aeef2
tls: P256: factor out "multiply then reduce" operation
...
function old new delta
sp_256_mont_mul_and_reduce_8 - 44 +44
sp_256_ecc_mulmod_8 517 442 -75
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 44/-75) Total: -31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-11 23:27:40 +01:00
Denys Vlasenko
b240733ae7
tls: x25519: code shrink by factoring out common code
...
function old new delta
fe_reduce - 37 +37
lm_add 67 43 -24
fe_mul_c 62 38 -24
fe_mul__distinct 138 112 -26
curve25519 800 767 -33
lm_sub 98 64 -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/5 up/down: 37/-141) Total: -104 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-12-01 15:09:44 +01:00
Denys Vlasenko
8514b4166d
tls: P256: enable 64-bit version of montgomery reduction
...
After more testing, (1) I'm more sure it is indeed correct, and
(2) it is a significant speedup - we do a lot of those multiplications.
function old new delta
sp_512to256_mont_reduce_8 191 223 +32
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 21:43:51 +01:00
Denys Vlasenko
90b0d33044
tls: P256: add 64-bit montgomery reduce (disabled), small optimization in 32-bit code
...
function old new delta
sp_512to256_mont_reduce_8 191 185 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 15:44:08 +01:00
Denys Vlasenko
832626227e
tls: P256: add comment on logic in sp_512to256_mont_reduce_8, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 12:55:20 +01:00
Denys Vlasenko
00b5051cd2
libbb: code shrink in des encryption, in setup_salt()
...
function old new delta
pw_encrypt 978 971 -7
.rodata 108208 108192 -16
des_crypt 1211 1181 -30
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-53) Total: -53 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 12:21:23 +01:00
Denys Vlasenko
cfb615781d
tls: P256: simplify sp_256_mont_inv_8 (no need for a temporary)
...
function old new delta
sp_256_ecc_mulmod_8 543 517 -26
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 11:15:34 +01:00
Denys Vlasenko
1b93c7c4ec
tls: P256: pad struct sp_point to 64 bits (on 64-bit arches)
...
function old new delta
curve_P256_compute_pubkey_and_premaster 198 190 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-28 02:56:02 +01:00
Denys Vlasenko
0b13ab66f4
tls: P256: trivial x86-64 fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 19:36:23 +01:00
Denys Vlasenko
f92ae1dc4b
tls: P256: change logic so that we don't need double-wide vectors everywhere
...
Change sp_256to512z_mont_{mul,sqr}_8 to not require/zero upper 256 bits.
There is only one place where we actually used that (and that's why there
used to be zeroing memset of top half!). Fix up that place.
As a bonus, 256x256->512 multiply no longer needs to care for
"r overlaps a or b" case.
This shrinks sp_point structure as well, not just temporaries.
function old new delta
sp_256to512z_mont_mul_8 150 - -150
sp_256_mont_mul_8 - 147 +147
sp_256to512z_mont_sqr_8 7 - -7
sp_256_mont_sqr_8 - 7 +7
sp_256_ecc_mulmod_8 494 543 +49
sp_512to256_mont_reduce_8 243 249 +6
sp_256_point_from_bin2x32 73 70 -3
sp_256_proj_point_dbl_8 353 345 -8
sp_256_proj_point_add_8 544 499 -45
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/3 up/down: 209/-213) Total: -4 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 19:27:03 +01:00
Denys Vlasenko
9c671fe3dd
tls: P256: do not open-code copying of struct variables
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 18:42:27 +01:00
Denys Vlasenko
dcfd8d3d10
tls: P256: fix sp_256_div2_8 - it wouldn't use a[] if low bit is 0
...
It worked by chance because the only caller passed both parameters
as two pointers to the same array.
My fault (I made this error when converting from 26-bit code).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 16:24:49 +01:00
Denys Vlasenko
8cbb70365f
tls: P256: remove redundant zeroing in sp_256_map_8
...
Previous change made it obvious that we zero out already-zeroed high bits
function old new delta
sp_256_ecc_mulmod_8 534 494 -40
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 15:50:40 +01:00
Denys Vlasenko
4415f7bc06
tls: P256: explain which functions use double-wide arrays, no code changes
...
function old new delta
sp_512to256_mont_reduce_8 - 243 +243
sp_256to512z_mont_mul_8 - 150 +150
sp_256to512z_mont_sqr_8 - 7 +7
sp_256_mont_sqr_8 7 - -7
sp_256_mont_mul_8 150 - -150
sp_256_mont_reduce_8 243 - -243
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 0/0 up/down: 400/-400) Total: 0 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 15:47:26 +01:00
Denys Vlasenko
bbda85c74b
tls: P256: remove constant-time trick in sp_256_proj_point_add_8
...
function old new delta
sp_256_proj_point_add_8 576 544 -32
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 15:06:57 +01:00
Denys Vlasenko
26c8522522
tls: P256: do not open-code copying of struct variables
...
function old new delta
sp_256_ecc_mulmod_8 536 534 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 15:00:14 +01:00
Denys Vlasenko
446d136109
tls: tweak debug printout
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 12:03:43 +01:00
Denys Vlasenko
4bc9da1071
tls: P256: 64-bit optimizations
...
function old new delta
sp_256_proj_point_dbl_8 421 428 +7
sp_256_point_from_bin2x32 78 84 +6
sp_256_cmp_8 38 42 +4
sp_256_to_bin_8 28 31 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 20/0) Total: 20 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-27 11:28:11 +01:00
Denys Vlasenko
15f7d618ea
which: add -a to help text
...
function old new delta
packed_usage 34075 34079 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-11-09 13:51:22 +01:00
Denys Vlasenko
aaf3d5ba74
shell: tweak --help
...
Even though formally it is -s [ARGS], "sh -s" without ARGS
is the same as just "sh". And we are already over 80 chars wide
for ash --help, so make it shorter.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-13 11:25:42 +02:00
Denys Vlasenko
62f1eed1e1
hush: in a comment, document what -i might be doing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-13 00:09:07 +02:00
Denys Vlasenko
94c78aa0b9
config system: move some options closer to relevalnt tool subdirectories
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-12 13:23:29 +02:00
Denys Vlasenko
7c3e96d4b3
shell: use more compact SHELL_ASH / HUSH config defines. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-12 01:24:32 +02:00
Denys Vlasenko
f4fcd74a6e
shell: do not read user database for every prompt - only for those which need it
...
function old new delta
get_user_strings - 52 +52
get_homedir_or_NULL - 23 +23
parse_and_put_prompt 823 838 +15
null_str 1 - -1
complete_cmd_dir_file 814 812 -2
deinit_S 51 42 -9
read_line_input 3059 3015 -44
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 1/3 up/down: 90/-56) Total: 34 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 23:08:31 +02:00
Denys Vlasenko
6ba1f2d0bc
tar: prevent malicious archives with enormous long name sizes OOMing the machine
...
function old new delta
get_header_tar 1707 1752 +45
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 19:28:39 +02:00
Denys Vlasenko
aec8fbfb83
whitespace fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 19:11:06 +02:00
Denys Vlasenko
5acf5e1f87
shell: fix script's comm field if ENABLE_FEATURE_PREFER_APPLETS=y
...
function old new delta
re_execed_comm - 46 +46
main 72 86 +14
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 60/0) Total: 60 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 18:44:00 +02:00
Denys Vlasenko
23aba8a9a6
tls: code shrink curve25519
...
function old new delta
fe_select 39 - -39
curve25519 849 800 -49
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-88) Total: -88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 16:31:47 +02:00
Denys Vlasenko
74ee3f2f73
tls: remove unused tls_symmetric.h (was used by old "big" AES code)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-11 13:46:30 +02:00
Denys Vlasenko
d8e39b5917
find: code shrink -{m,a,c}{time,min}
...
function old new delta
time_cmp - 181 +181
func_mmin 171 31 -140
func_mtime 180 34 -146
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 181/-286) Total: -105 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-10 15:18:12 +02:00
Denys Vlasenko
d3dbf4ac05
*: add more beneficial NOINLINEs
...
function old new delta
dec_main - 1729 +1729 -41 bytes
fallbackQSort3 - 671 +671 -70 bytes
verify_sun - 481 +481 -107 bytes
verify 1330 742 -588
fallbackSort 1469 728 -741
unpack_xz_stream 2306 536 -1770
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 0/3 up/down: 2881/-3099) Total: -218 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-10 14:32:05 +02:00
Denys Vlasenko
53b2fdcdba
*: add NOINLINEs where code noticeably shrinks
...
function old new delta
display 85 1463 +1378 -73 bytes
select_and_cluster - 1088 +1088 -139 bytes
parse_reply - 979 +979 -109 bytes
zbc_num_sqrt - 632 +632 -191 bytes
show_bridge_port - 585 +585 -56 bytes
sp_256_proj_point_add_8 - 576 +576 -45 bytes
encode_then_append_var_plusminus - 554 +554 -118 bytes
read_mode_db - 537 +537 -47 bytes
fbset_main 1331 747 -584
sp_256_ecc_mulmod_8 1157 536 -621
brctl_main 2189 1548 -641
expand_one_var 2544 1872 -672
zxc_vm_process 6412 5589 -823
send_queries 1813 725 -1088
recv_and_process_peer_pkt 2245 1018 -1227
bb_dump_dump 1531 80 -1451
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 1/8 up/down: 6329/-7107) Total: -778 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-10 13:50:53 +02:00
Denys Vlasenko
49bcf9f40c
hush: speed up ${x//\*/|} too
...
function old new delta
expand_one_var 2502 2544 +42
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2021-10-09 03:52:04 +02:00