Denys Vlasenko
01004f9796
libbb: enable fixed 4k pagesize for 32bit ARM
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-15 21:24:04 +01:00
Denys Vlasenko
4a9ec95565
tls: code shrink in AES code
...
function old new delta
aes_cbc_decrypt 862 847 -15
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-15 18:47:25 +01:00
Denys Vlasenko
fad8d6b6c0
build system: combat gcc zealotry in data alignment, now for x86_64 too
...
function old new delta
.rodata 182928 182620 -308
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-15 18:39:05 +01:00
Denys Vlasenko
2aaacc1453
dd: support for O_DIRECT i/o
...
Based on patch by Akash Hadke <hadkeakash4@gmail.com>
function old new delta
dd_read - 66 +66
clear_O_DIRECT - 55 +55
write_and_stats 102 135 +33
dd_main 1578 1601 +23
static.oflag_words 19 26 +7
static.iflag_words 22 29 +7
packed_usage 33665 33668 +3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/0 up/down: 194/0) Total: 194 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 20:27:57 +01:00
Denys Vlasenko
c7b858ff8d
libbb: add and use infrastructure for fixed page size optimization
...
function old new delta
procps_scan 1121 1118 -3
getpagesize 6 - -6
rpm_main 1037 1027 -10
rpm2cpio_main 120 110 -10
ptok 38 21 -17
time_main 1282 1261 -21
mkswap_main 317 278 -39
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/6 up/down: 0/-106) Total: -106 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 18:54:30 +01:00
Denys Vlasenko
fd3c512f88
libbb: create and use mmap() helpers
...
function old new delta
mmap_anon - 22 +22
mmap_read - 21 +21
xmmap_anon - 16 +16
rpm_gettags 465 447 -18
bb_full_fd_action 498 480 -18
uevent_main 337 310 -27
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 0/3 up/down: 59/-63) Total: -4 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 18:25:28 +01:00
Denys Vlasenko
db793480cb
build system: combat gcc zealotry in data alignment
...
text data bss dec hex filename
1020934 559 5052 1026545 fa9f1 busybox_old
1020750 559 5052 1026361 fa939 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 05:53:45 +01:00
Denys Vlasenko
a8e19608fc
hush: code shrink
...
function old new delta
run_applet_main - 20 +20
builtin_kill 296 288 -8
builtin_test 19 10 -9
builtin_printf 19 10 -9
builtin_echo 19 10 -9
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 20/-35) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-14 03:52:54 +01:00
Denys Vlasenko
84d5eddb25
help text: replace [OPTIONS] with actual options (if not too long)
...
function old new delta
packed_usage 33620 33665 +45
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 22:34:05 +01:00
Denys Vlasenko
63139b531f
hush: if login shell, also source ~/.profile
...
function old new delta
hush_main 1101 1151 +50
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 22:00:56 +01:00
Denys Vlasenko
1b367cbeda
examples: remove /sbin/ prefixes, system should be configured with $PATH to find utilities
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 21:35:26 +01:00
Denys Vlasenko
5d553bc558
more --help text tweaks
...
function old new delta
packed_usage 33545 33581 +36
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 19:18:28 +01:00
Denys Vlasenko
11f1a2553e
help text tweaks
...
function old new delta
packed_usage 33547 33545 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 19:04:19 +01:00
Denys Vlasenko
49142d48bd
hush: NOMMU fix for hush-psubst/tick6.tests
...
function old new delta
hush_main 1759 1766 +7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 18:44:07 +01:00
Denys Vlasenko
9cabd17e55
hush: fix -c SCRIPT handling
...
function old new delta
hush_main 1763 1759 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 18:24:11 +01:00
Denys Vlasenko
31df5a3eee
ash: reset SIGHUP earlier: allows HUP traps in .profile, closes 13371
...
function old new delta
ash_main 1188 1203 +15
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 16:36:28 +01:00
Denys Vlasenko
6c5f4296dc
traceroute: code shrink
...
function old new delta
hexdump_if_verbose - 255 +255
common_traceroute_main 1668 1644 -24
hexdump 239 - -239
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/1 up/down: 255/-263) Total: -8 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 15:58:47 +01:00
Denys Vlasenko
623e55a396
traceroute: even with -v, don't show other ping processes reply's
...
function old new delta
traceroute_init 1135 1151 +16
common_ping_main 1919 1935 +16
common_traceroute_main 1715 1668 -47
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 32/-47) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 15:53:06 +01:00
Denys Vlasenko
d067acb005
traceroute: simpler hexdump()
...
function old new delta
hexdump 270 239 -31
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 15:10:07 +01:00
Denys Vlasenko
b4b1828076
traceroute: make "ipv4 or ipv6?" cheaper to find out
...
function old new delta
traceroute_init 1131 1135 +4
hexdump 274 270 -4
common_traceroute_main 1730 1715 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 4/-19) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 14:58:11 +01:00
Denys Vlasenko
8055173128
traceroute: don't set SO_DONTROUTE on recv socket, it only affects send
...
function old new delta
traceroute_init 1147 1131 -16
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-13 14:18:05 +01:00
Denys Vlasenko
724c7df683
traceroute: untangle main loop
...
function old new delta
common_traceroute_main 1785 1730 -55
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 21:44:32 +01:00
Denys Vlasenko
e76f03b267
traceroute: commonalize verbose printing
...
function old new delta
hexdump - 274 +274
traceroute_init 1172 1147 -25
pr_type 79 - -79
common_traceroute_main 2091 1785 -306
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 274/-410) Total: -136 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 21:09:21 +01:00
Denys Vlasenko
df5c5394b0
traceroute: set IP_PKTINFO to see correct local IP of received pkt (fixes -v display)
...
Also, assorted code shrink:
function old new delta
traceroute_init 1210 1172 -38
common_traceroute_main 2141 2091 -50
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-88) Total: -88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 20:09:52 +01:00
Denys Vlasenko
cc55bbef75
traceroute: code shrink
...
Move init code to a separate function.
function old new delta
traceroute_init - 1203 +1203
common_traceroute_main 3391 2141 -1250
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 1203/-1250) Total: -47 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 18:09:45 +01:00
Denys Vlasenko
70726640b3
traceroute: code shrink
...
Do not pass "from" and "to" addresses as parameters, keep them in globals
function old new delta
common_traceroute_main 3426 3391 -35
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 18:09:45 +01:00
Denys Vlasenko
d0dea17900
traceroute: code shrink
...
Do not byteswap ident (why we were doing it?)
function old new delta
common_traceroute_main 3544 3426 -118
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 18:09:45 +01:00
Denys Vlasenko
3978adc445
traceroute: fix traceroute6 -I (icmp mode)
...
function old new delta
common_traceroute_main 3530 3544 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 18:09:45 +01:00
Denys Vlasenko
ef2366cdca
nsenter: stop option parsing on 1st non-option
...
"nsenter ls -l" gives: invalid option -- 'l'
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-12 08:44:32 +01:00
Denys Vlasenko
030fe31760
libbb: make msleep() result in only one syscall instead of looping
...
function old new delta
msleep 45 52 +7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-11 16:48:47 +01:00
Denys Vlasenko
56ee576507
mount: fix incorrect "success" exitcode if loop device setup fails
...
When mounting, in parallel, multiple loop devices (squashfs for the
submitter's case), the following behavior can be observed:
stat64(/path/to/image, {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0
openat(AT_FDCWD, /path/to/image, O_RDWR|O_LARGEFILE) = 3
openat(AT_FDCWD, /dev/loop-control, O_RDWR|O_LARGEFILE|O_CLOEXEC) = 4
ioctl(4, LOOP_CTL_GET_FREE) = 12
close(4) = 0
openat(AT_FDCWD, /dev/loop12, O_RDWR|O_LARGEFILE) = 4
ioctl(4, LOOP_GET_STATUS64, {lo_offset=0, lo_number=12, lo_flags=LO_FLAGS_AUTOCLEAR, lo_file_name=/path/to/image, ...}) = 0
close(4) = 0
close(3) = 0
write(2, "mount: can't setup loop device\n", 31mount: can't setup loop device
) = 31
exit_group(0) = ?
+++ exited with 0 +++
The ioctl LOOP_CTL_GET_FREE has resulted in the same result for
a competing mount process. The subsequent ioctl LOOP_GET_STATUS64
fails, having succeeded for the competing mount process.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-09 20:56:43 +01:00
Denys Vlasenko
e7d853b4eb
wget: do not ftruncate if -O- is used, closes 13351
...
function old new delta
wget_main 2558 2571 +13
retrieve_file_data 612 621 +9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 22/0) Total: 22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-08 19:06:28 +01:00
Xabier Oneca
abaee4aada
mkdtemp: proper error detection on mktemp
...
On error, mktemp returns an empty string, not NULL.
Signed-off-by: Xabier Oneca <xoneca@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-08 18:46:32 +01:00
Denys Vlasenko
c9b93cf290
tar: expand --help
...
function old new delta
packed_usage 33486 33590 +104
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-08 16:46:41 +01:00
Denys Vlasenko
34c5115a7f
mount: implement -o nosymfollow, remove bogus -o union
...
The (1 << 8) MS_ flag is MS_NOSYMFOLLOW, not MS_UNION.
As far as I see in git history of kernel and util-linux,
MS_UNION did not ever exist.
Why did it appear in our tree in 2009?...
function old new delta
mount_option_str 379 385 +6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-06 21:56:22 +01:00
Denys Vlasenko
696c38ddca
mount: add -o nostrictatime and -o [no]lazytime
...
function old new delta
mount_option_str 345 379 +34
mount_options 176 188 +12
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 46/0) Total: 46 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-06 20:59:41 +01:00
Denys Vlasenko
b1eedfcfa1
mount: do not guess mount as NFS if "hostname:" contains slashes
...
function old new delta
singlemount 1273 1295 +22
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-05 14:14:11 +01:00
Denys Vlasenko
758c2bd58e
awk: add a test that $NF is empty
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-04 19:00:06 +01:00
Denys Vlasenko
f4f6e5144b
libbb: exec_login_shell() - new function
...
function old new delta
exec_login_shell - 12 +12
sulogin_main 247 240 -7
login_main 960 953 -7
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 12/-14) Total: -2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 21:51:08 +01:00
Denys Vlasenko
0622416fec
libbb: code shrink in exec_shell()
...
function old new delta
exec_shell 129 120 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 21:39:57 +01:00
Denys Vlasenko
2075aa93e0
libbb: rename run_shell() to exec_shell()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 21:28:47 +01:00
Denys Vlasenko
b4f93f562d
mount: do not guess bind mounts as nfs
...
Fails as follows:
$ mount -o bind /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:3:0 /dir
mount: bad address '/dev/disk/by-path/pci-0000'
function old new delta
singlemount 1256 1273 +17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 19:10:22 +01:00
Denys Vlasenko
665a659530
awk: FS regex matches only non-empty separators (gawk compat)
...
function old new delta
awk_split 484 553 +69
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 19:07:31 +01:00
Denys Vlasenko
50ead33c45
login: log to syslog every bad password, not only 3rd
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-12-02 17:47:16 +01:00
Denys Vlasenko
6599e380ed
mount: make filesystems[] array byte-aligned
...
text data bss dec hex filename
1021120 559 5052 1026731 faaab busybox_old
1021092 559 5052 1026703 faa8f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-30 15:10:43 +01:00
Denys Vlasenko
6cc4962b60
decrease padding: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly
...
text data bss dec hex filename
1021236 559 5052 1026847 fab1f busybox_old
1021120 559 5052 1026731 faaab busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-30 14:58:02 +01:00
Denys Vlasenko
965b795b87
decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly
...
text data bss dec hex filename
1021988 559 5052 1027599 fae0f busybox_old
1021236 559 5052 1026847 fab1f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-30 13:03:03 +01:00
Denys Vlasenko
2fba2f5bb9
unicode: relax array alignment for tables
...
text data bss dec hex filename
1022075 559 5052 1027686 fae66 busybox_old
1021988 559 5052 1027599 fae0f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-30 11:30:17 +01:00
Denys Vlasenko
33e955ab91
unicode: fix handling of short 1-4 char tables
...
function old new delta
in_uint16_table 92 107 +15
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-30 11:18:00 +01:00
Denys Vlasenko
eb773054e4
libbb: code shrink
...
function old new delta
generate_uuid 124 103 -21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-11-29 14:24:14 +01:00