Denys Vlasenko
bbc26c6934
run-init: implement -n "dry run"
...
function old new delta
switch_root_main 637 706 +69
packed_usage 31743 31757 +14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 83/0) Total: 83 bytes
text data bss dec hex filename
915247 563 5844 921654 e1036 busybox_old
915303 563 5844 921710 e106e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-22 10:37:30 +02:00
Denys Vlasenko
200bcc851a
run-init: new applet
...
function old new delta
switch_root_main 354 637 +283
drop_usermodehelper - 157 +157
cap_name_to_number - 77 +77
packed_usage 31707 31743 +36
applet_names 2665 2674 +9
applet_main 1544 1548 +4
applet_install_loc 193 194 +1
setpriv_main 933 928 -5
getcaps 131 122 -9
parse_cap 117 29 -88
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 5/3 up/down: 567/-102) Total: 465 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-21 19:30:01 +02:00
Denys Vlasenko
44b3f2ffbc
libbb: move capability names code to libbb
...
function old new delta
cap_name_to_number - 77 +77
parse_cap 117 29 -88
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/1 up/down: 77/-88) Total: -11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-21 02:14:19 +02:00
Denys Vlasenko
ec2482e966
setpriv: code shrink
...
function old new delta
parse_cap 125 117 -8
setpriv_main 949 933 -16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-24) Total: -24 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-20 20:21:31 +02:00
Denys Vlasenko
20c0d07e95
nuke: shorten help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-18 19:23:51 +02:00
Denys Vlasenko
ab77e81a85
klibc-utils: new applets: resume, nuke, minips
...
minips is a pure alias to ps, just in case someone needs 100% klibc-utils compat.
nuke is a primitive version of "rm -rf" without options and error checks. ~30 bytes.
resume is a tool for initramfs which resumes from a given block device.
function old new delta
resume_main - 582 +582
packed_usage 31640 31712 +72
nuke_main - 28 +28
xstrtoull - 24 +24
applet_names 2646 2665 +19
applet_main 1532 1544 +12
applet_suid 96 97 +1
applet_install_loc 192 193 +1
applet_flags 96 97 +1
------------------------------------------------------------------------------
(add/remove: 5/0 grow/shrink: 6/0 up/down: 740/0) Total: 740 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-18 19:15:29 +02:00
Denys Vlasenko
79747415d6
setpriv: accept any case in capability names
...
This should work: setpriv --inh-caps -SyS_ReSOuRCE sh
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-18 19:11:57 +02:00
Denys Vlasenko
fec2b1f79d
ash: stage backported LINENO support as a separate patch
...
Looks biggish and not particularly useful, but may be easier to just eat
the impact if future backports from dash would be otherwise increasingly
difficult.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-17 16:43:33 +02:00
Denys Vlasenko
fb8348b364
telnet: "-a" + "-l USER" should respect USER
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-17 13:37:51 +02:00
Denys Vlasenko
048491fbdc
hush: trivial code shrink in builtin_getopts
...
function old new delta
builtin_getopts 368 363 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-17 12:36:39 +02:00
Denys Vlasenko
a1799db4ac
awk: stop on first non-option, closes 9861
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 19:07:53 +02:00
Denys Vlasenko
e440b39416
*: stop using atexit in non-debug build: saves ~260 in bss with musl
...
"builtin" below is atexit's 32-element global array of functions to call.
function old new delta
top_main 879 889 +10
launch_helper 185 193 +8
powertop_main 1555 1559 +4
sed_main 651 650 -1
slot 4 - -4
call 4 - -4
atexit 23 - -23
kill_helper 31 - -31
__funcs_on_exit 120 - -120
__cxa_atexit 168 - -168
builtin 260 - -260
------------------------------------------------------------------------------
(add/remove: 0/8 grow/shrink: 3/1 up/down: 22/-611) Total: -589 bytes
text data bss dec hex filename
912364 563 6132 919059 e0613 busybox_old
912035 563 5844 918442 e03aa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 17:45:32 +02:00
Denys Vlasenko
cf686ae3b4
syslogd,logger: code shrink for musl
...
function old new delta
syslogd_main 1252 1910 +658
logger_main 277 393 +116
timestamp_and_log 434 542 +108
static.__compound_literal - 104 +104
parse_fac_prio_20 137 - -137
pencode 167 - -167
parse_syslogdcfg 715 - -715
------------------------------------------------------------------------------
(add/remove: 1/3 grow/shrink: 3/0 up/down: 986/-1019) Total: -33 bytes
text data bss dec hex filename
912506 563 6132 919201 e06a1 busybox_old
912364 563 6132 919059 e0613 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 15:05:36 +02:00
Denys Vlasenko
dce39c9894
fsck_minix,mkfs_minix: fix "strict-aliasing" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 11:53:48 +02:00
Denys Vlasenko
c4367d7227
uevent: placate gcc
...
How sizeof() can be an aliasing problem?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 11:45:09 +02:00
Denys Vlasenko
d80302db99
top: switch to malloced "globals".
...
This seems to be more efficient:
function old new delta
clearmems - 28 +28
display_process_list 1001 1018 +17
read_cpu_jiffy 171 177 +6
do_stats 194 198 +4
reset_term 20 23 +3
topmem_sort 63 65 +2
mult_lvl_cmp 44 45 +1
get_jiffy_counts 247 248 +1
display_topmem_process_list 549 546 -3
top_main 912 879 -33
handle_input 630 549 -81
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/3 up/down: 62/-117) Total: -55 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 11:40:10 +02:00
Denys Vlasenko
9832bbaba9
ash: unset OPTARG if getopts exits 1, support OPTERR=0 behavior
...
function old new delta
getoptscmd 522 547 +25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-15 15:44:41 +02:00
Denys Vlasenko
4476c70301
ash,hush: comment and debug tweaks, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-15 15:27:41 +02:00
Denys Vlasenko
0485b677d2
ash: one "current line = 1" might be missing, fix that
...
I'm not sure this is necessary, but dash has this init here.
Just in case, do it too.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-14 19:46:56 +02:00
Denys Vlasenko
c2aea025bb
ash: update testsuite (we now error out on ${#=})
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-14 15:01:32 +02:00
Denys Vlasenko
452cc1d9bd
ash: [PARSER] Catch variable length expansions on non-existant specials
...
Upstream commit:
Date: Thu, 30 Oct 2014 11:53:35 +0800
[PARSER] Catch variable length expansions on non-existant specials
Currently we only check special variable names that follow directly
after $ or ${. So errors such as ${#&} are not caught. This patch
fixes that by moving the is_special check to just before we print out
the special variable name.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
function old new delta
readtoken1 2630 2635 +5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-14 14:23:45 +02:00
Denys Vlasenko
647d8afe86
build system: remove unused CONFIG_FEATURE_HAVE_RPC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-14 12:25:55 +02:00
Denys Vlasenko
007ce9f807
shell: tweak getopts tests, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-13 02:59:00 +02:00
Denys Vlasenko
419db0391e
hush: implement "silent" optstrings of ":opts"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 17:21:14 +02:00
Denys Vlasenko
129e1ce72c
hush: add a test which fails due to uclibc bug in getopt()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 17:00:39 +02:00
Denys Vlasenko
d16e612c93
hush: fix redirect code (was using uninitialized variables)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 15:41:39 +02:00
Denys Vlasenko
9a7d0a0191
shell: add OPTARG poisoning to getopt_optarg.tests
...
ash fails this!
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 02:37:48 +02:00
Denys Vlasenko
81f962f3df
hush: teach getopts to set/unset OPTARG
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 02:05:21 +02:00
Denys Vlasenko
74d4058928
hush: getopts builtin
...
function old new delta
builtin_getopts - 271 +271
bltins1 372 384 +12
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 283/0) Total: 283 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 01:32:46 +02:00
Denys Vlasenko
4628945cd8
ash: fix "unset OPTIND" throwing an error message
...
Added test was failing quite severely. Now only one subtest fails
(OPTERR=0 has no effect).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-11 00:59:36 +02:00
Denys Vlasenko
11f2e99c13
hush: optional times builtin
...
function old new delta
builtin_times - 108 +108
bltins1 360 372 +12
static.times_tbl - 9 +9
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/0 up/down: 129/0) Total: 129 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 16:34:03 +02:00
Denys Vlasenko
c52dc0e836
fdisk: typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 15:12:11 +02:00
Denys Vlasenko
9c7c63b5c2
ps: improve TIME column for large times: showing "14453:50" is not good
...
function old new delta
format_time - 110 +110
func_time 59 50 -9
func_etime 67 53 -14
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 110/-23) Total: 87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 15:02:16 +02:00
Denys Vlasenko
9a6f62fd51
ps: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 14:15:52 +02:00
Denys Vlasenko
1fd8e66203
ps: stop using AT_CLKTCK, there are more standard ways
...
function old new delta
ps_main 537 558 +21
func_time 66 59 -7
get_kernel_HZ 102 - -102
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 21/-109) Total: -88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 14:10:56 +02:00
Denys Vlasenko
5da5365d3c
rpm,rpm2cpio: INIT_G() was missing (it is a nop here so far)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 13:22:01 +02:00
Denys Vlasenko
bac929b99b
Hopefully fix "will break strict-aliasing rules" warning for get_le32
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 12:40:48 +02:00
Denys Vlasenko
bc9bbeb2b8
libarchive: do not extract unsafe symlinks unless $EXTRACT_UNSAFE_SYMLINKS=1
...
function old new delta
unsafe_symlink_target - 147 +147
unzip_main 2711 2732 +21
copy_file 1657 1678 +21
tar_main 999 971 -28
data_extract_all 1038 984 -54
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/2 up/down: 189/-82) Total: 107 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 11:52:42 +02:00
Denys Vlasenko
0cf64c8b5d
rpm2cpio: handle LZMA compressed rpms. closes 10166
...
function old new delta
rpm2cpio_main 78 120 +42
setup_lzma_on_fd - 29 +29
fork_transformer_and_free - 28 +28
...
setup_unzip_on_fd 56 32 -24
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/5 up/down: 104/-67) Total: 37 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 10:36:37 +02:00
Denys Vlasenko
3c9b8fe252
rpm2cpio: use rpm_gettags
...
function old new delta
rpm_gettags - 451 +451
rpm2cpio_main 140 78 -62
skip_header 92 - -92
rpm_main 1477 1049 -428
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 451/-582) Total: -131 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 09:56:49 +02:00
Denys Vlasenko
e5650a40d4
rpm: prepare rpm_gettags for reuse in rpm2cpio
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 09:41:57 +02:00
Denys Vlasenko
3fa9262dcd
rpm,rpm2cpio: put both sources into one file, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-10 09:32:19 +02:00
Denys Vlasenko
3bc2317c61
Update NOFORK_NOEXEC.lst
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 19:51:17 +02:00
Denys Vlasenko
890bd5de51
ipcs: tweak output orer to match util-linux 2.28
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 19:27:01 +02:00
Denys Vlasenko
c6ce1c9ca3
ipcrm,ipcs: make them NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 19:24:19 +02:00
Denys Vlasenko
7943be1e13
ipcrm: code shrink
...
function old new delta
ipcrm_main 698 663 -35
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 19:20:08 +02:00
Denys Vlasenko
a4d4ab04c3
vconfig: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 18:52:19 +02:00
Denys Vlasenko
9be166b5dd
rpm: code shrink
...
function old new delta
rpm_getstr0 - 7 +7
rpm_getstr 112 110 -2
rpm_getint 120 118 -2
bsearch_rpmtag 15 13 -2
shell_builtin_read 1334 1320 -14
rpm_main 1548 1474 -74
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/5 up/down: 7/-94) Total: -87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 18:20:01 +02:00
Denys Vlasenko
cde46f75cb
shell: more efficient check for EOL in read
...
function old new delta
shell_builtin_read 1334 1320 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 14:04:07 +02:00
Denys Vlasenko
1f41c885fc
hush: implement -d DELIM option for 'read'
...
The POSIX standard only requires the 'read' builtin to handle '-r':
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/read.html
However, Bash introduced the option '-d <DELIM>' to override IFS for
just one invocation, and it is quite useful.
We already support this in ash, let's add it to hush, too.
function old new delta
builtin_read 263 284 +21
.rodata 163587 163589 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 23/0) Total: 23 bytes
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-09 13:52:36 +02:00