Ron Yorston
b22061718d
find_applet_by_name: loop index should be signed
...
The loop
for (j = ARRAY_SIZE(applet_nameofs)-1; j >= 0; j--) {
was intended to terminate when j goes negative, so j needs to be signed.
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 22:29:35 +02:00
Denys Vlasenko
6aab9928de
whitespace and namespace cleanups
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 22:24:51 +02:00
Sven Eisenberg
b068cf2a7e
ubirmvol: Implement -N switch for ubirmvol
...
function old new delta
get_volid_by_name - 125 +125
ubi_devnum_from_devname - 43 +43
ubi_tools_main 1215 1220 +5
packed_usage 30674 30655 -19
ubirename_main 394 221 -173
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 1/2 up/down: 173/-192) Total: -19 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 22:01:43 +02:00
Sven Eisenberg
cb92640998
ubirename: new applet
...
function old new delta
ubirename_main - 394 +394
packed_usage 30611 30674 +63
applet_names 2530 2540 +10
Signed-off-by: Sven Eisenberg <sven.eisenberg@novero.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 20:12:03 +02:00
Denys Vlasenko
46b494635e
libbb: speed up error_msg functions
...
function old new delta
bb_verror_msg 386 466 +80
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 16:55:03 +02:00
Denys Vlasenko
bc14f4d13d
main(): add a TODO about finding a use for _end[] area
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 16:06:42 +02:00
Denys Vlasenko
056e1f558c
trylink: on failure, print a hint about CONFIG_EXTRA_LDLIBS
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 15:38:53 +02:00
Denys Vlasenko
1cf68e3033
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 22:57:17 +02:00
Denys Vlasenko
a93e4fd376
find_applet_by_name: add an example of faster linear search code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 22:54:23 +02:00
Denys Vlasenko
8b0f459af7
nsenter,unshare: work around older header
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 19:00:44 +02:00
Denys Vlasenko
b14374a5ba
sort: "-o FILE", not "-o", is the syntax
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 18:20:26 +02:00
Denys Vlasenko
8220399173
nsenter,unshare: share common code; fix a bug of not closing all fds
...
function old new delta
xvfork_parent_waits_and_exits - 64 +64
exec_prog_or_SHELL - 39 +39
unshare_main 873 810 -63
nsenter_main 663 596 -67
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 106/-130) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 18:06:24 +02:00
Denys Vlasenko
c87e81f944
sort: help text does not need to say that -mST are supported but ignored
...
Such information is useless for users of "sort --help"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 17:39:50 +02:00
Denys Vlasenko
dd02a05e08
build system: finer-grained selection of search speedup table.
...
KNOWN_APPNAME_OFFSETS=8 versus KNOWN_APPNAME_OFFSETS=0:
function old new delta
find_applet_by_name 55 136 +81
applet_nameofs - 14 +14
run_applet_and_exit 757 758 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 15:18:26 +02:00
Denys Vlasenko
9f2f96edfa
unshare: remove stale comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-02 04:44:39 +02:00
Bartosz Golaszewski
80c934a251
nsenter: new applet
...
function old new delta
nsenter_main - 663 +663
.rodata 155147 155612 +465
packed_usage 30536 30708 +172
nsenter_longopts - 116 +116
open_by_path_or_target - 58 +58
applet_names 2518 2526 +8
applet_main 2920 2928 +8
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 4/0 up/down: 1490/0) Total: 1490 bytes
text data bss dec hex filename
827956 4078 9080 841114 cd59a busybox_old
829214 4086 9080 842380 cda8c busybox_unstripped
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-01 22:19:35 +02:00
Denys Vlasenko
c4199f22d0
libbb: two new functions: wait_for_exitstatus(pid), xfchdir(fd)
...
Bartosz Golaszewski proposed xfchdir()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-01 22:12:44 +02:00
Bartosz Golaszewski
29b33b63d4
unshare: new applet
...
function old new delta
unshare_main - 873 +873
.rodata 154444 155131 +687
packed_usage 30329 30520 +191
unshare_longopts - 106 +106
mount_namespaces - 99 +99
mount_or_die - 51 +51
ns_list - 48 +48
wait_for_exitstatus - 41 +41
opt_str - 17 +17
applet_names 2510 2518 +8
applet_main 2912 2920 +8
applet_suid 91 92 +1
applet_install_loc 182 183 +1
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 6/0 up/down: 2131/0) Total: 2131 bytes
text data bss dec hex filename
826110 4070 9080 839260 cce5c busybox_old
827961 4078 9080 841119 cd59f busybox_unstripped
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-01 19:44:39 +02:00
Denys Vlasenko
52977a7d60
Rename FEATURE_INITRD to LINUXRC and make it separate, not an alias to init
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-31 00:42:57 +02:00
Denys Vlasenko
a27dc33f97
make MKPASSWD a separate config option, not an automatic alias to cryptpw
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-31 00:32:39 +02:00
Denys Vlasenko
f75a96d74c
udhcp: fix capitalization of two messages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 18:49:45 +02:00
Denys Vlasenko
16efe19128
dhcpd: string reuse
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 18:44:52 +02:00
Denys Vlasenko
8f2e99c813
udhcp: get rid of bb_info_msg()
...
function old new delta
udhcpd_main 1501 1531 +30
d6_recv_raw_packet 251 264 +13
perform_d6_release 188 198 +10
udhcpc6_main 2443 2449 +6
udhcp_recv_raw_packet 582 588 +6
udhcp_recv_kernel_packet 132 138 +6
send_d6_renew 140 146 +6
d6_recv_kernel_packet 118 124 +6
send_renew 77 82 +5
send_discover 85 90 +5
send_decline 84 89 +5
send_d6_select 97 102 +5
send_d6_discover 174 179 +5
perform_release 167 172 +5
count_lines 72 74 +2
udhcpc_main 2836 2837 +1
bb_info_msg 125 - -125
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 17/4 up/down: 117/-180) Total: -63 bytes
text data bss dec hex filename
924935 906 17160 943001 e6399 busybox_old
924736 906 17160 942802 e62d2 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 18:41:23 +02:00
Denys Vlasenko
80f0f1d712
setfiles: switch bb_info_msg to printf
...
Presumably, bb_info_msg was used here for syslog logging (-l),
but there is no actual code to activate syslog logging.
Added a TODO note on that, so that selinux users would notice
and fix if needed.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 18:17:35 +02:00
Denys Vlasenko
2a17fbe88a
sulogin: use bb_error_msg instead of bb_info_msg; better message
...
Historic "System Maintenance Mode" message is a tiny bit cryptic.
Let's say explicitly what we are doing: we are giving user a shell
(presumably to do some maintenance in single-user mode).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 17:36:20 +02:00
Denys Vlasenko
32c08acba3
sulogin: remove suid paranoia code, explain why it's not necessary
...
function old new delta
sulogin_main 325 270 -55
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 17:27:32 +02:00
Denys Vlasenko
8ac6effb02
sulogin: Dorp incorrect comment about suid-ness
...
Sulogin is not a suid app, should fail if run by non-root.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:50:19 +02:00
Denys Vlasenko
c418f48d8d
fsck: use printf for message, not bb_info_msg
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:30:24 +02:00
Denys Vlasenko
3b757f0798
mkfs_vfat: use bb_error_msg for logging, not bb_info_msg
...
This affects only a commented-out code section which searches for bad blocks
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:23:10 +02:00
Denys Vlasenko
cde1199e01
zcip: use bb_error_msg for logging, not bb_info_msg
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:22:13 +02:00
Denys Vlasenko
066e76befe
Replace a few more bb_info_msg's by bb_error_msg or printf
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:20:28 +02:00
Denys Vlasenko
76b680c7a8
Use bb_error_msg instead of bb_info_msg in all commented-out debug printouts
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:04:37 +02:00
Ron Yorston
610c4c385b
applet_tables: save space by removing applet name offsets
...
The array applet_nameofs consumes two bytes per applet. It encodes
nofork/noexec flags
suid flags
the offset of the applet name in the applet_name string
Change the applet_table build tool to store the flags in two separate
arrays (applet_flags and applet_suid). Replace applet_nameofs[] with a
smaller version that only stores a limited number of offsets.
This requires changes to the macros APPLET_IS_NOFORK, APPLET_IS_NOEXEC
and APPLET_SUID.
According to Valgrind the original find_applet_by_name required
353 cycles per call, averaged over all names. Adjusting the number
of known offsets allows space to be traded off against execution time:
KNOWN_OFFSETS cycles bytes (wrt KNOWN_OFFSETS = 0)
0 9057 -
2 4604 32
4 2407 75
8 1342 98
16 908 130
32 884 194
This patch uses KNOWN_OFFSETS = 8.
v2:
Remove some dead code from the applet_table tool;
Treat the applet in the middle of the table as a special case.
v3:
Use the middle applet to adjust the start of the linear search as
well as the last applet found.
v4:
Use an augmented linear search in find_applet_by_name.
Drop the special treatment of the middle name from get_applet_name:
most of the advantage now derives from the last stored value.
v5:
Don't store index in applet_nameofs, it can be calculated.
v6:
Tweaks by Denys
function old new delta
find_applet_by_name 25 125 +100
applet_suid - 92 +92
run_applet_no_and_exit 452 460 +8
run_applet_and_exit 695 697 +2
applet_name_compare 31 - -31
applet_nameofs 734 14 -720
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 3/1 up/down: 202/-751) Total: -549 bytes
text data bss dec hex filename
925464 906 17160 943530 e65aa busybox_old
924915 906 17160 942981 e6385 busybox_unstripped
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 00:44:11 +02:00
Denys Vlasenko
9844d7e830
Revert "networking: properly initialize ipv6 scope id for printing it"
...
This reverts commit 2fb63292f7
.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-29 19:27:00 +02:00
Denys Vlasenko
20dd499341
modprobe: skip non-.conf files only in subdirectories
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-29 19:23:55 +02:00
Denys Vlasenko
31c984dd69
umount: build fix for older glibc
...
Based on a patch by Veli-Pekka Peltola <veli-pekka.peltola@ray.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-28 22:23:33 +02:00
Timo Teräs
2fb63292f7
networking: properly initialize ipv6 scope id for printing it
...
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-28 22:16:48 +02:00
Denys Vlasenko
73dfdda92e
grep: make errors other than "not found" result in exit code 2. Closes 8796
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-28 22:12:09 +02:00
Mike Frysinger
b9b7aa1910
ash_test: ignore generated files
...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2016-03-22 18:15:24 -04:00
Mike Frysinger
787972f60b
ash_test: printenv: fix missing includes
...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2016-03-22 18:15:14 -04:00
Ron Yorston
3e3bfb896e
ash: fix corruption of ${#var} if $var contains UTF-8 characters
...
As reported in bug 8506:
$ X=abcdÉfghÍjklmnÓpqrstÚvwcyz
$ echo ${#X}
abcd26
The result should be 26.
This regression was introduced by:
<d68d1fb> 2015-05-18 [Ron Yorston] ash: code shrink around varvalue
The length in characters was being used to discard the contents of
the variable instead of the length in bytes.
URL: https://bugs.busybox.net/8506
Reported-by: Martijn Dekker <martijn@inlv.org>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2016-03-22 18:19:29 -04:00
Denys Vlasenko
6701e91d84
wget: make -T timeout work on header reads too. Closes 8636
...
function old new delta
set_alarm - 27 +27
fgets_and_trim 76 92 +16
wget_main 2610 2616 +6
open_socket 64 54 -10
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-17 21:52:42 +01:00
Denys Vlasenko
0d1b71e8e6
nmeter: reinstate and document -d-1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 17:54:17 +01:00
Denys Vlasenko
41b1e2c392
nmeter: remove undocumented %NNNd specifier
...
function old new delta
nmeter_main 707 745 +38
init_functions 48 44 -4
init_delay 63 - -63
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 38/-67) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 16:13:23 +01:00
Denys Vlasenko
a63e2a8cb2
nmeter: simple code shrink here and there
...
function old new delta
nmeter_main 709 707 -2
init_cr 15 12 -3
collect_time 141 131 -10
collect_cpu 610 593 -17
init_cpu 82 63 -19
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-51) Total: -51 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 16:06:29 +01:00
Denys Vlasenko
8a26fda98c
nmeter: convert field list to bit list
...
function old new delta
rdval 34 157 +123
collect_int 123 122 -1
collect_thread_nr 65 62 -3
collect_blk 559 552 -7
collect_if 207 199 -8
collect_fork 119 111 -8
collect_ctx 119 111 -8
collect_fd 81 71 -10
collect_swp 120 107 -13
collect_cpu 623 610 -13
collect_mem 371 339 -32
rdval_loadavg 38 - -38
vrdval 170 - -170
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/10 up/down: 123/-311) Total: -188 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 15:52:40 +01:00
Denys Vlasenko
99c71c9e80
nmeter: code shrink
...
function old new delta
put 52 43 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 15:28:49 +01:00
Denys Vlasenko
e4de8c6316
nmeter: fix a bug with unterminated varargs
...
function old new delta
collect_mem 361 371 +10
collect_swp 116 120 +4
vrdval 168 170 +2
collect_thread_nr 63 65 +2
collect_int 121 123 +2
collect_if 205 207 +2
collect_fork 117 119 +2
collect_fd 79 81 +2
collect_ctx 117 119 +2
collect_cpu 621 623 +2
collect_blk 557 559 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 11/0 up/down: 32/0) Total: 32 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-15 15:22:42 +01:00
Denys Vlasenko
fd5a2b7b04
New example config: android_502_defconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-14 22:28:53 +01:00
Denys Vlasenko
23961b2fd3
more bionic fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-14 19:34:15 +01:00