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>
This commit is contained in:
		@@ -63,6 +63,7 @@
 | 
			
		||||
//usage:     "\n	-z	Reread partition table"
 | 
			
		||||
 | 
			
		||||
#include "libbb.h"
 | 
			
		||||
#include "common_bufsiz.h"
 | 
			
		||||
/* must be _after_ libbb.h: */
 | 
			
		||||
#include <linux/hdreg.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
@@ -367,7 +368,7 @@ struct globals {
 | 
			
		||||
	unsigned char flushcache[4] = { WIN_FLUSHCACHE, 0, 0, 0 };
 | 
			
		||||
#endif
 | 
			
		||||
} FIX_ALIASING;
 | 
			
		||||
#define G (*(struct globals*)&bb_common_bufsiz1)
 | 
			
		||||
#define G (*(struct globals*)bb_common_bufsiz1)
 | 
			
		||||
#define get_identity       (G.get_identity           )
 | 
			
		||||
#define get_geom           (G.get_geom               )
 | 
			
		||||
#define do_flush           (G.do_flush               )
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user