Denis Vlasenko
7c9c1bb616
modprobe-small: trivial SEGV fix
2008-09-14 20:33:03 +00:00
Denis Vlasenko
ba1315d0fb
modutils/*: rewrite by Timo Teras <timo.teras AT iki.fi>
...
- a lot faster (linear algorithmic complexity, smaller memory foot print)
- a lot smaller (the old code was overly complicated)
- loading of aliases is now module-init-tools compliant
- blacklisting is done correctly (-b option added)
- module argument quoting done right
- depmod now correctly generates modules.symbols and modules.alias
add/remove: 16/21 grow/shrink: 4/6 up/down: 6930/-9316 Total: -2386 bytes
text data bss dec hex filename
806039 592 6680 813311 c68ff busybox_old
803498 592 6676 810766 c5f0e busybox_unstripped
2008-09-13 14:59:38 +00:00
Paul Mundt
70de57f60a
Kill off bogus #error's for big endian SH targets, these work fine.
2008-09-12 09:19:40 +00:00
Denis Vlasenko
1c781cc8ff
modprobe-small: make insmod command line compatible
...
function old new delta
modprobe_main 326 435 +109
moderror - 52 +52
process_module 577 530 -47
2008-09-06 14:14:01 +00:00
Denis Vlasenko
04e458d435
insmod: fix detection of open failure
2008-08-31 21:56:48 +00:00
Denis Vlasenko
3b80cac953
insmod: mix xmalloc with xrealloc_vector more carefully
2008-08-28 21:38:10 +00:00
Denis Vlasenko
18c93029fd
insmod: shrink
...
function old new delta
obj_allocate_commons 488 462 -26
insmod_main 3830 3714 -116
2008-08-27 22:29:43 +00:00
Denis Vlasenko
279ca69727
modprobe-small: support "blacklist" keyword in /etc/modules/<modulename>
2008-08-26 01:32:33 +00:00
Denis Vlasenko
8e80411151
modprobe-small: fix infinite looping, by Timo Teras
2008-08-06 09:41:09 +00:00
Denis Vlasenko
9ddc0045ec
modprobe: semi-trivial code shrink
...
function old new delta
build_dep 870 859 -11
already_loaded 134 112 -22
modprobe_main 449 368 -81
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-114) Total: -114 bytes
2008-08-06 00:51:43 +00:00
Denis Vlasenko
e9ad84dfd4
*: refactor handling of archived files. "tar f file.tar.lzma" now works too.
...
function old new delta
unpack_Z_stream - 1229 +1229
open_zipped - 176 +176
unpack_bz2_stream_prime - 60 +60
tar_main 642 677 +35
find_main 406 418 +12
sv_main 1222 1233 +11
decode_format_string 829 837 +8
cmp_main 641 649 +8
popstring 134 140 +6
filter_accept_list_reassign 120 125 +5
parse_and_put_prompt 800 804 +4
passwd_main 1053 1049 -4
make_new_name_gunzip 119 114 -5
rpm_main 1688 1670 -18
prepare 302 283 -19
xmalloc_open_zipped_read_close 135 61 -74
uncompress 1229 - -1229
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 8/5 up/down: 1554/-1349) Total: 205 bytes
2008-08-05 13:10:34 +00:00
Denis Vlasenko
35d8c47987
whitespace fixes, no code changed
2008-08-05 07:59:25 +00:00
Denis Vlasenko
855ff6f503
modprobe: use buffering line reads (fgets) instead of reads().
...
libbb: remove reads()
function old new delta
include_conf_file_act 961 980 +19
localcmd 282 284 +2
already_loaded 155 151 -4
in_cksum 58 53 -5
modprobe_main 1630 1624 -6
reads 129 - -129
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/3 up/down: 21/-144) Total: -123 bytes
2008-08-04 21:16:46 +00:00
Denis Vlasenko
27842288b3
libbb: make xrealloc_vector zero out the realloc'ed tail
...
function old new delta
xrealloc_vector_helper 51 76 +25
man_main 712 705 -7
act 250 234 -16
create_list 91 70 -21
getopt_main 695 664 -31
load_dep_bb 281 248 -33
fileAction 744 709 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 25/-143) Total: -118 bytes
2008-08-04 13:20:36 +00:00
Denis Vlasenko
dadfb4975b
hush: add #defines to switch off break/continue if loops are not supported
...
*: remove a few inline keywords
no code changes
2008-07-29 10:16:05 +00:00
Denis Vlasenko
e1ee48e0fd
modprobe: support for /etc/modprobe.d, by Timo Teras.
...
function old new delta
include_conf_file_act - 929 +929
include_conf_recursive - 30 +30
include_conf_file2 - 30 +30
include_conf_file - 14 +14
include_conf_dir_act - 14 +14
build_dep 1011 875 -136
include_conf 922 - -922
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 0/1 up/down: 1017/-1058) Total: -41 bytes
2008-07-29 00:19:44 +00:00
Denis Vlasenko
084266ed52
fix several problems with config parser:
...
a bug where it underflows the string
a bug where it never frees parser_t struct
make read_config() return 0 if parser is NULL,
make config_close() accept and ignore NULL parser -
eliminates many if() blocks
reverse the sense of parser bit flags - negative flags
are harder to grok.
hexdump: revert the change to use config parser, it is BIGGER
and also requires additional quirks in parser
*: explicitly use PARSER_NORMAL instead of 0
function old new delta
login_main 1575 1596 +21
config_close 18 29 +11
bbunpack 383 391 +8
qgravechar 106 109 +3
rtnl_tab_initialize 121 117 -4
expand 1697 1693 -4
man_main 717 712 -5
nameif_main 674 668 -6
hexdump_main 597 591 -6
read_config 217 209 -8
dnsd_main 1478 1470 -8
sysctl_main 203 189 -14
config_open2 44 25 -19
make_device 1177 1141 -36
config_read 597 549 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/11 up/down: 43/-158) Total: -115 bytes
2008-07-26 23:08:31 +00:00
Denis Vlasenko
0f99d49ae6
*: conversion to config parser
...
function old new delta
config_read 540 597 +57
config_open2 41 44 +3
rtnl_rtprot_initialize 70 66 -4
rtnl_rttable_initialize 78 73 -5
rtnl_rtscope_initialize 88 83 -5
rtnl_rtrealm_initialize 48 43 -5
rtnl_rtdsfield_initialize 48 43 -5
process_module 566 560 -6
bbunpack 391 383 -8
rtnl_tab_initialize 279 121 -158
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/8 up/down: 60/-196) Total: -136 bytes
2008-07-24 23:38:04 +00:00
Bernhard Reutner-Fischer
3e8669f359
- wrap overlong lines (Cristian Ionescu-Idbohrn)
...
- s/\. /. /g;# (me)
2008-07-22 18:27:53 +00:00
Denis Vlasenko
5415c856ea
libbb: [x]fopen_for_{read,write} introduced and used.
...
(by Valdimir)
function old new delta
config_open2 - 41 +41
config_read 507 542 +35
find_pair 169 187 +18
fopen_for_write - 14 +14
fopen_for_read - 14 +14
find_main 406 418 +12
xfopen_for_write - 10 +10
xfopen_for_read - 10 +10
popstring 134 140 +6
parse_inittab 396 401 +5
next_token 923 928 +5
pack_gzip 1659 1661 +2
bb__parsespent 117 119 +2
fallbackSort 1719 1717 -2
evalvar 1376 1374 -2
qrealloc 36 33 -3
...
...
...
...
singlemount 4579 4569 -10
process_stdin 443 433 -10
patch_main 1111 1101 -10
ifupdown_main 2175 2165 -10
file_action_grep 90 80 -10
uuidcache_init 649 637 -12
hush_main 797 785 -12
read_config 230 217 -13
dpkg_main 3835 3820 -15
read_line_input 3134 3110 -24
sysctl_main 232 203 -29
config_open 40 10 -30
WARN_BAD_LINE 44 - -44
login_main 1714 1575 -139
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
2008-07-21 23:05:26 +00:00
Bernhard Reutner-Fischer
0328b40aee
- commentary typo fix
2008-07-21 11:18:02 +00:00
Bernhard Reutner-Fischer
1a715e487d
- fix compilation for mips (Brian Daniels)
2008-07-18 07:42:00 +00:00
Denis Vlasenko
09ce45fd10
insmod: users report that "|| defined(__powerpc__)" is missing
2008-07-14 21:29:35 +00:00
Denis Vlasenko
a46dd89e94
cpio: internalize archive_xread_all_eof. add a few paranoia checks
...
for corrupted cpio files.
modprobe-small: remove stray include
route: small code shrink
function old new delta
get_header_cpio 958 980 +22
archive_xread_all_eof 33 - -33
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/0 up/down: 22/-33) Total: -11 bytes
2008-07-12 09:20:44 +00:00
Denis Vlasenko
3e8fd18037
fix typo in config help text
2008-07-10 23:42:36 +00:00
Denis Vlasenko
b6052724ff
open_transformer: do not return fd, it does not change
...
libbb: adopt zipped read from modprobe-small
function old new delta
getoptscmd 708 713 +5
qgravechar 106 109 +3
huft_build 1165 1168 +3
tr_main 474 472 -2
open_transformer 91 89 -2
evalvar 1376 1374 -2
rpm_main 1691 1688 -3
qrealloc 36 33 -3
get_header_tar_lzma 55 52 -3
get_header_tar_gz 100 97 -3
get_header_tar_bz2 55 52 -3
get_header_tar_Z 89 86 -3
find_main 418 406 -12
prepare 302 283 -19
xmalloc_open_zipped_read_close 161 135 -26
xmalloc_read 248 199 -49
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/13 up/down: 11/-130) Total: -119 bytes
2008-07-10 17:43:01 +00:00
Denis Vlasenko
0e2c93fc0b
modprobe-small: make depmod compatible with kernel build.
...
three last commits' sizes combined:
function old new delta
find_alias 218 612 +394
load_dep_bb - 310 +310
modprobe_main 289 380 +91
copy_stringbuf - 40 +40
process_module 637 655 +18
reset_stringbuf - 15 +15
parse_module 333 334 +1
append 84 85 +1
fileAction 832 819 -13
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 5/1 up/down: 870/-13) Total: 857 bytes
2008-07-10 14:16:11 +00:00
Denis Vlasenko
7f950a93ff
modprobe-small: add depfile creation
2008-07-10 14:14:45 +00:00
Denis Vlasenko
784369987f
modprobe-small: add depfile loading
2008-07-10 14:14:20 +00:00
Bernhard Reutner-Fischer
5606b1c4f3
- fix typo (Cristian Ionescu-Idbohrn)
2008-07-09 17:56:53 +00:00
Denis Vlasenko
24a131ea4d
modprobe-small: preparatory patch for modprobe.dep.bb creation patches,
...
Code size impact ~0.
2008-07-09 15:30:57 +00:00
Denis Vlasenko
f62ab2d774
libbb: use improved xmalloc_read() from modprobe-small
...
who: fix compile breakage on some systems
modprobe-small: improve Config help text wording
2008-07-09 09:50:33 +00:00
Denis Vlasenko
deeed59de0
libbb: introduce and use xrealloc_vector
...
function old new delta
xrealloc_vector_helper - 51 +51
create_list 84 99 +15
getopt_main 690 695 +5
passwd_main 1049 1053 +4
get_cached 85 89 +4
msh_main 1377 1380 +3
add_match 42 41 -1
read_lines 720 718 -2
grave 1068 1066 -2
fill_match_lines 143 141 -2
add_to_dirlist 67 65 -2
add_input_file 49 47 -2
act 252 250 -2
fsck_main 2252 2246 -6
man_main 765 757 -8
bb_internal_initgroups 228 220 -8
cut_main 1052 1041 -11
add_edge_to_node 55 43 -12
dpkg_main 3851 3835 -16
ifupdown_main 2202 2178 -24
sort_main 838 812 -26
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/15 up/down: 82/-124) Total: -42 bytes
2008-07-08 05:14:36 +00:00
Denis Vlasenko
58f59a25ee
modprobe-small: match aliases with fnmatch(), making
...
shell pattern-specified alias names in module bodies work.
2008-07-06 11:52:23 +00:00
Denis Vlasenko
cee0dfcc6a
modprobe-small: fix debug leftover
2008-07-06 11:11:35 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +00:00
Denis Vlasenko
671691cf21
modutils: optional modutils-small by Vladimir Dronnikov.
...
15kb smaller than standard one.
libbb/recursive_action.c: commented-out code for aborting the scan.
2008-07-04 10:25:44 +00:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
f5d8c90d73
style fixes, no code changes
2008-06-26 14:32:57 +00:00
Denis Vlasenko
7049ff8696
whitespace fixes. no code changes
2008-06-25 09:53:17 +00:00
Denis Vlasenko
fe733a9744
changes in comments only
2008-06-24 16:08:22 +00:00
Denis Vlasenko
8124a96c34
mdoprobe: fix SEGV bug (by Vlad Dronnikov)
2008-06-22 16:59:46 +00:00
Denis Vlasenko
f45c4f41b7
whitespace and comment fixes, no code changes
2008-06-16 04:09:25 +00:00
Denis Vlasenko
7d60fc1c0a
replace single-char printf's with bb_putchar
2008-06-05 06:51:06 +00:00
Denis Vlasenko
e7860e358e
config help text: fix capitalization
2008-06-04 22:41:14 +00:00
Bernhard Reutner-Fischer
6075b2aee0
- add FIXME. Perhaps somebody is interrested in looking into this one.
...
We would try to be clever and compare the *data instead of the *elt.
Somethink like this might be of more general use:
/* Unlink arbitrary element from the list that contains data */
void llist_unlink_data(llist_t **head, void *data)
{
llist_t *elt;
for (elt = *head; elt; elt = elt->link) {
if (elt->data == data) {
llist_unlink(elt);
return;
}
}
}
2008-06-02 19:23:47 +00:00
Bernhard Reutner-Fischer
c2741e1f72
- add alias support
2008-06-02 18:59:16 +00:00
Bernhard Reutner-Fischer
ef729dd90c
- revert revision 22183 since it breaks -b /abs /abs/path/to/mod.ko
2008-06-02 13:40:13 +00:00
Bernhard Reutner-Fischer
d42816763f
- just chdir to the basedir (-30b).
2008-06-02 13:34:36 +00:00
Bernhard Reutner-Fischer
beac1bd58e
- optional fancy pruning-mode for depmod
2008-06-02 13:28:47 +00:00