summaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorDenis Vlasenko2008-04-22 00:08:27 +0000
committerDenis Vlasenko2008-04-22 00:08:27 +0000
commit5d89fbaa2e00a8a26e530306d76b78bf91d12ec8 (patch)
tree44d54f6dfbd0f6270fb0b1aba0195bc53db8bef4 /coreutils
parent9137341851f3ab89f5c6a54a6baff68f0f4a5e17 (diff)
downloadbusybox-5d89fbaa2e00a8a26e530306d76b78bf91d12ec8.zip
busybox-5d89fbaa2e00a8a26e530306d76b78bf91d12ec8.tar.gz
*: remove remaining instances of ".data" hack
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/Kbuild8
-rw-r--r--coreutils/test.c13
2 files changed, 10 insertions, 11 deletions
diff --git a/coreutils/Kbuild b/coreutils/Kbuild
index 253eb6d..cb45439 100644
--- a/coreutils/Kbuild
+++ b/coreutils/Kbuild
@@ -71,10 +71,10 @@ lib-$(CONFIG_SYNC) += sync.o
lib-$(CONFIG_TAC) += tac.o
lib-$(CONFIG_TAIL) += tail.o
lib-$(CONFIG_TEE) += tee.o
-lib-$(CONFIG_TEST) += test.o
-lib-$(CONFIG_ASH) += test.o # used by ash
-lib-$(CONFIG_HUSH) += test.o # used by hush
-lib-$(CONFIG_MSH) += test.o # used by msh
+lib-$(CONFIG_TEST) += test.o test_ptr_hack.o
+lib-$(CONFIG_ASH) += test.o test_ptr_hack.o # used by ash
+lib-$(CONFIG_HUSH) += test.o test_ptr_hack.o # used by hush
+lib-$(CONFIG_MSH) += test.o test_ptr_hack.o # used by msh
lib-$(CONFIG_TOUCH) += touch.o
lib-$(CONFIG_TR) += tr.o
lib-$(CONFIG_TRUE) += true.o
diff --git a/coreutils/test.c b/coreutils/test.c
index 2f5b6b8..3c725a2 100644
--- a/coreutils/test.c
+++ b/coreutils/test.c
@@ -159,7 +159,7 @@ typedef int arith_t;
/* We try to minimize both static and stack usage. */
-struct statics {
+struct test_statics {
char **t_wp;
const struct t_op *t_wp_op;
gid_t *group_array;
@@ -167,11 +167,10 @@ struct statics {
jmp_buf leaving;
};
-/* Make it reside in writable memory, yet make compiler understand
- * that it is not going to change. */
-static struct statics *const ptr_to_statics __attribute__ ((section (".data")));
+/* See test_ptr_hack.c */
+extern struct test_statics *const test_ptr_to_statics;
-#define S (*ptr_to_statics)
+#define S (*test_ptr_to_statics)
#define t_wp (S.t_wp )
#define t_wp_op (S.t_wp_op )
#define group_array (S.group_array )
@@ -179,11 +178,11 @@ static struct statics *const ptr_to_statics __attribute__ ((section (".data")));
#define leaving (S.leaving )
#define INIT_S() do { \
- (*(struct statics**)&ptr_to_statics) = xzalloc(sizeof(S)); \
+ (*(struct test_statics**)&test_ptr_to_statics) = xzalloc(sizeof(S)); \
barrier(); \
} while (0)
#define DEINIT_S() do { \
- free(ptr_to_statics); \
+ free(test_ptr_to_statics); \
} while (0)
static arith_t primary(enum token n);