summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko2007-03-15 19:48:35 +0000
committerDenis Vlasenko2007-03-15 19:48:35 +0000
commitbff32ce4d5a22fe7664f77c96f281fe3b02a9c75 (patch)
tree820b303027a64c7ce81bc084ce30140792b36d3a /include
parent1cc70225e7bfee447543ea38b08c7caeb6492c8b (diff)
downloadbusybox-bff32ce4d5a22fe7664f77c96f281fe3b02a9c75.zip
busybox-bff32ce4d5a22fe7664f77c96f281fe3b02a9c75.tar.gz
gzip: Improve ptr_to_globals trick, allowing gcc
to optimize better. -480 bytes.
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 90fb0ad..d68519d 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -804,7 +804,10 @@ extern char bb_common_bufsiz1[BUFSIZ+1];
/* This struct is deliberately not defined. */
/* See docs/keep_data_small.txt */
struct globals;
-extern struct globals *ptr_to_globals;
+/* Magic prevents this from going into rodata */
+/* If you want to assign a value, use PTR_TO_GLOBALS = xxx */
+extern struct globals *const ptr_to_globals;
+#define PTR_TO_GLOBALS (*(struct globals**)&ptr_to_globals)
/* You can change LIBBB_DEFAULT_LOGIN_SHELL, but don't use it,
* use bb_default_login_shell and following defines.