diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2016-04-21 16:26:30 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2016-04-21 17:39:11 +0200 |
commit | e6a2f4cc5a47d3022bdf5ca2cacbaa5a8c5baf7a (patch) | |
tree | 0962142ac9830312cd3df52994db41e8ac47c73c /util-linux | |
parent | 5598bdf0d3d46a865a4d23785e2d09e6db9be420 (diff) | |
download | busybox-w32-e6a2f4cc5a47d3022bdf5ca2cacbaa5a8c5baf7a.tar.gz busybox-w32-e6a2f4cc5a47d3022bdf5ca2cacbaa5a8c5baf7a.tar.bz2 busybox-w32-e6a2f4cc5a47d3022bdf5ca2cacbaa5a8c5baf7a.zip |
libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it
The config item is FEATURE_USE_BSS_TAIL. When it is off (default):
function old new delta
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
push 46 44 -2
inetd_main 2136 2134 -2
uevent_main 421 418 -3
addLines 97 92 -5
bb_common_bufsiz1 8193 1024 -7169
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181) Total: -7119 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829901 4086 1904 835891 cc133 busybox_unstripped
FEATURE_USE_BSS_TAIL=y:
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
inetd_main 2136 2134 -2
bb_common_bufsiz1 8193 - -8193
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195) Total: -8133 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829911 4086 880 834877 cbd3d busybox_unstripped
FIXME: setup_common_bufsiz() calls are missing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/mdev.c | 3 | ||||
-rw-r--r-- | util-linux/mkswap.c | 1 | ||||
-rw-r--r-- | util-linux/more.c | 1 | ||||
-rw-r--r-- | util-linux/mount.c | 3 | ||||
-rw-r--r-- | util-linux/script.c | 10 | ||||
-rw-r--r-- | util-linux/swaponoff.c | 3 | ||||
-rw-r--r-- | util-linux/uevent.c | 3 | ||||
-rw-r--r-- | util-linux/umount.c | 3 |
8 files changed, 18 insertions, 9 deletions
diff --git a/util-linux/mdev.c b/util-linux/mdev.c index 37fa56827..7473b1855 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c | |||
@@ -97,6 +97,7 @@ | |||
97 | //usage: "If /dev/mdev.log file exists, debug log will be appended to it." | 97 | //usage: "If /dev/mdev.log file exists, debug log will be appended to it." |
98 | 98 | ||
99 | #include "libbb.h" | 99 | #include "libbb.h" |
100 | #include "common_bufsiz.h" | ||
100 | #include "xregex.h" | 101 | #include "xregex.h" |
101 | 102 | ||
102 | /* "mdev -s" scans /sys/class/xxx, looking for directories which have dev | 103 | /* "mdev -s" scans /sys/class/xxx, looking for directories which have dev |
@@ -285,7 +286,7 @@ struct globals { | |||
285 | struct rule cur_rule; | 286 | struct rule cur_rule; |
286 | char timestr[sizeof("HH:MM:SS.123456")]; | 287 | char timestr[sizeof("HH:MM:SS.123456")]; |
287 | } FIX_ALIASING; | 288 | } FIX_ALIASING; |
288 | #define G (*(struct globals*)&bb_common_bufsiz1) | 289 | #define G (*(struct globals*)bb_common_bufsiz1) |
289 | #define INIT_G() do { \ | 290 | #define INIT_G() do { \ |
290 | IF_NOT_FEATURE_MDEV_CONF(G.cur_rule.maj = -1;) \ | 291 | IF_NOT_FEATURE_MDEV_CONF(G.cur_rule.maj = -1;) \ |
291 | IF_NOT_FEATURE_MDEV_CONF(G.cur_rule.mode = 0660;) \ | 292 | IF_NOT_FEATURE_MDEV_CONF(G.cur_rule.mode = 0660;) \ |
diff --git a/util-linux/mkswap.c b/util-linux/mkswap.c index b5d2c49b6..f9451792b 100644 --- a/util-linux/mkswap.c +++ b/util-linux/mkswap.c | |||
@@ -13,6 +13,7 @@ | |||
13 | //usage: "\n -L LBL Label" | 13 | //usage: "\n -L LBL Label" |
14 | 14 | ||
15 | #include "libbb.h" | 15 | #include "libbb.h" |
16 | #include "common_bufsiz.h" | ||
16 | 17 | ||
17 | #if ENABLE_SELINUX | 18 | #if ENABLE_SELINUX |
18 | static void mkswap_selinux_setcontext(int fd, const char *path) | 19 | static void mkswap_selinux_setcontext(int fd, const char *path) |
diff --git a/util-linux/more.c b/util-linux/more.c index 359571397..58be3ac3b 100644 --- a/util-linux/more.c +++ b/util-linux/more.c | |||
@@ -23,6 +23,7 @@ | |||
23 | //usage: "$ dmesg | more\n" | 23 | //usage: "$ dmesg | more\n" |
24 | 24 | ||
25 | #include "libbb.h" | 25 | #include "libbb.h" |
26 | #include "common_bufsiz.h" | ||
26 | 27 | ||
27 | /* Support for FEATURE_USE_TERMIOS */ | 28 | /* Support for FEATURE_USE_TERMIOS */ |
28 | 29 | ||
diff --git a/util-linux/mount.c b/util-linux/mount.c index c428f5827..e5c85feff 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c | |||
@@ -223,6 +223,7 @@ | |||
223 | #define BB_MS_INVERTED_VALUE (1u << 31) | 223 | #define BB_MS_INVERTED_VALUE (1u << 31) |
224 | 224 | ||
225 | #include "libbb.h" | 225 | #include "libbb.h" |
226 | #include "common_bufsiz.h" | ||
226 | #if ENABLE_FEATURE_MOUNT_LABEL | 227 | #if ENABLE_FEATURE_MOUNT_LABEL |
227 | # include "volume_id.h" | 228 | # include "volume_id.h" |
228 | #else | 229 | #else |
@@ -447,7 +448,7 @@ struct globals { | |||
447 | char getmntent_buf[1]; | 448 | char getmntent_buf[1]; |
448 | } FIX_ALIASING; | 449 | } FIX_ALIASING; |
449 | enum { GETMNTENT_BUFSIZE = COMMON_BUFSIZE - offsetof(struct globals, getmntent_buf) }; | 450 | enum { GETMNTENT_BUFSIZE = COMMON_BUFSIZE - offsetof(struct globals, getmntent_buf) }; |
450 | #define G (*(struct globals*)&bb_common_bufsiz1) | 451 | #define G (*(struct globals*)bb_common_bufsiz1) |
451 | #define nfs_mount_version (G.nfs_mount_version) | 452 | #define nfs_mount_version (G.nfs_mount_version) |
452 | #if ENABLE_FEATURE_MOUNT_VERBOSE | 453 | #if ENABLE_FEATURE_MOUNT_VERBOSE |
453 | #define verbose (G.verbose ) | 454 | #define verbose (G.verbose ) |
diff --git a/util-linux/script.c b/util-linux/script.c index abcd73bff..6195161bc 100644 --- a/util-linux/script.c +++ b/util-linux/script.c | |||
@@ -23,6 +23,7 @@ | |||
23 | //usage: ) | 23 | //usage: ) |
24 | 24 | ||
25 | #include "libbb.h" | 25 | #include "libbb.h" |
26 | #include "common_bufsiz.h" | ||
26 | 27 | ||
27 | int script_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 28 | int script_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
28 | int script_main(int argc UNUSED_PARAM, char **argv) | 29 | int script_main(int argc UNUSED_PARAM, char **argv) |
@@ -108,7 +109,8 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |||
108 | 109 | ||
109 | if (child_pid) { | 110 | if (child_pid) { |
110 | /* parent */ | 111 | /* parent */ |
111 | #define buf bb_common_bufsiz1 | 112 | #define buf bb_common_bufsiz1 |
113 | #define sizeof_buf COMMON_BUFSIZE | ||
112 | struct pollfd pfd[2]; | 114 | struct pollfd pfd[2]; |
113 | int outfd, count, loop; | 115 | int outfd, count, loop; |
114 | double oldtime = ENABLE_SCRIPTREPLAY ? time(NULL) : 0; | 116 | double oldtime = ENABLE_SCRIPTREPLAY ? time(NULL) : 0; |
@@ -134,7 +136,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |||
134 | } | 136 | } |
135 | if (pfd[0].revents) { | 137 | if (pfd[0].revents) { |
136 | errno = 0; | 138 | errno = 0; |
137 | count = safe_read(pty, buf, sizeof(buf)); | 139 | count = safe_read(pty, buf, sizeof_buf); |
138 | if (count <= 0 && errno != EAGAIN) { | 140 | if (count <= 0 && errno != EAGAIN) { |
139 | /* err/eof from pty: exit */ | 141 | /* err/eof from pty: exit */ |
140 | goto restore; | 142 | goto restore; |
@@ -157,7 +159,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |||
157 | } | 159 | } |
158 | } | 160 | } |
159 | if (pfd[1].revents) { | 161 | if (pfd[1].revents) { |
160 | count = safe_read(STDIN_FILENO, buf, sizeof(buf)); | 162 | count = safe_read(STDIN_FILENO, buf, sizeof_buf); |
161 | if (count <= 0) { | 163 | if (count <= 0) { |
162 | /* err/eof from stdin: don't read stdin anymore */ | 164 | /* err/eof from stdin: don't read stdin anymore */ |
163 | pfd[1].revents = 0; | 165 | pfd[1].revents = 0; |
@@ -176,7 +178,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |||
176 | * (util-linux's script doesn't do this. buggy :) */ | 178 | * (util-linux's script doesn't do this. buggy :) */ |
177 | loop = 999; | 179 | loop = 999; |
178 | /* pty is in O_NONBLOCK mode, we exit as soon as buffer is empty */ | 180 | /* pty is in O_NONBLOCK mode, we exit as soon as buffer is empty */ |
179 | while (--loop && (count = safe_read(pty, buf, sizeof(buf))) > 0) { | 181 | while (--loop && (count = safe_read(pty, buf, sizeof_buf)) > 0) { |
180 | full_write(STDOUT_FILENO, buf, count); | 182 | full_write(STDOUT_FILENO, buf, count); |
181 | full_write(outfd, buf, count); | 183 | full_write(outfd, buf, count); |
182 | } | 184 | } |
diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c index c29dd3071..43228a6ba 100644 --- a/util-linux/swaponoff.c +++ b/util-linux/swaponoff.c | |||
@@ -28,6 +28,7 @@ | |||
28 | //usage: "\n -a Stop swapping on all swap devices" | 28 | //usage: "\n -a Stop swapping on all swap devices" |
29 | 29 | ||
30 | #include "libbb.h" | 30 | #include "libbb.h" |
31 | #include "common_bufsiz.h" | ||
31 | #include <mntent.h> | 32 | #include <mntent.h> |
32 | #ifndef __BIONIC__ | 33 | #ifndef __BIONIC__ |
33 | # include <sys/swap.h> | 34 | # include <sys/swap.h> |
@@ -62,7 +63,7 @@ | |||
62 | struct globals { | 63 | struct globals { |
63 | int flags; | 64 | int flags; |
64 | } FIX_ALIASING; | 65 | } FIX_ALIASING; |
65 | #define G (*(struct globals*)&bb_common_bufsiz1) | 66 | #define G (*(struct globals*)bb_common_bufsiz1) |
66 | #define g_flags (G.flags) | 67 | #define g_flags (G.flags) |
67 | #define save_g_flags() int save_g_flags = g_flags | 68 | #define save_g_flags() int save_g_flags = g_flags |
68 | #define restore_g_flags() g_flags = save_g_flags | 69 | #define restore_g_flags() g_flags = save_g_flags |
diff --git a/util-linux/uevent.c b/util-linux/uevent.c index 514a9e934..58668fa5d 100644 --- a/util-linux/uevent.c +++ b/util-linux/uevent.c | |||
@@ -25,11 +25,12 @@ | |||
25 | //usage: "\n"" # uevent mdev & mdev -s" | 25 | //usage: "\n"" # uevent mdev & mdev -s" |
26 | 26 | ||
27 | #include "libbb.h" | 27 | #include "libbb.h" |
28 | #include "common_bufsiz.h" | ||
28 | #include <linux/netlink.h> | 29 | #include <linux/netlink.h> |
29 | 30 | ||
30 | #define BUFFER_SIZE 16*1024 | 31 | #define BUFFER_SIZE 16*1024 |
31 | 32 | ||
32 | #define env ((char **)&bb_common_bufsiz1) | 33 | #define env ((char **)bb_common_bufsiz1) |
33 | enum { | 34 | enum { |
34 | MAX_ENV = COMMON_BUFSIZE / sizeof(env[0]) - 1, | 35 | MAX_ENV = COMMON_BUFSIZE / sizeof(env[0]) - 1, |
35 | }; | 36 | }; |
diff --git a/util-linux/umount.c b/util-linux/umount.c index 30bef1686..be0300394 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c | |||
@@ -34,6 +34,7 @@ | |||
34 | # define MNT_DETACH 0x00000002 | 34 | # define MNT_DETACH 0x00000002 |
35 | #endif | 35 | #endif |
36 | #include "libbb.h" | 36 | #include "libbb.h" |
37 | #include "common_bufsiz.h" | ||
37 | 38 | ||
38 | #if defined(__dietlibc__) | 39 | #if defined(__dietlibc__) |
39 | // TODO: This does not belong here. | 40 | // TODO: This does not belong here. |
@@ -102,7 +103,7 @@ int umount_main(int argc UNUSED_PARAM, char **argv) | |||
102 | if (opt & OPT_ALL) | 103 | if (opt & OPT_ALL) |
103 | bb_error_msg_and_die("can't open '%s'", bb_path_mtab_file); | 104 | bb_error_msg_and_die("can't open '%s'", bb_path_mtab_file); |
104 | } else { | 105 | } else { |
105 | while (getmntent_r(fp, &me, bb_common_bufsiz1, sizeof(bb_common_bufsiz1))) { | 106 | while (getmntent_r(fp, &me, bb_common_bufsiz1, COMMON_BUFSIZE)) { |
106 | /* Match fstype if passed */ | 107 | /* Match fstype if passed */ |
107 | if (!match_fstype(&me, fstype)) | 108 | if (!match_fstype(&me, fstype)) |
108 | continue; | 109 | continue; |