diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-11 11:27:29 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-11 11:27:29 +0000 |
commit | 93b8263652ac001247ff923499bdc04ab0a1a4c4 (patch) | |
tree | 9c608c11471a562bbb359ec661cb4e3a9cd5489a /libbb/ptr_to_globals.c | |
parent | 80f647c21c4457b5f74f5cdd87b789a0fa0d7c0d (diff) | |
download | busybox-w32-93b8263652ac001247ff923499bdc04ab0a1a4c4.tar.gz busybox-w32-93b8263652ac001247ff923499bdc04ab0a1a4c4.tar.bz2 busybox-w32-93b8263652ac001247ff923499bdc04ab0a1a4c4.zip |
fix build with gcc -combine
Diffstat (limited to 'libbb/ptr_to_globals.c')
-rw-r--r-- | libbb/ptr_to_globals.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libbb/ptr_to_globals.c b/libbb/ptr_to_globals.c index f8ccbf142..48cf8d86c 100644 --- a/libbb/ptr_to_globals.c +++ b/libbb/ptr_to_globals.c | |||
@@ -5,7 +5,20 @@ | |||
5 | * Licensed under GPLv2, see file LICENSE in this tarball for details. | 5 | * Licensed under GPLv2, see file LICENSE in this tarball for details. |
6 | */ | 6 | */ |
7 | 7 | ||
8 | struct globals; | ||
9 | |||
10 | #ifndef GCC_COMBINE | ||
11 | |||
8 | /* We cheat here. It is declared as const ptr in libbb.h, | 12 | /* We cheat here. It is declared as const ptr in libbb.h, |
9 | * but here we make it live in R/W memory */ | 13 | * but here we make it live in R/W memory */ |
10 | struct globals; | ||
11 | struct globals *ptr_to_globals; | 14 | struct globals *ptr_to_globals; |
15 | |||
16 | #else | ||
17 | |||
18 | /* gcc -combine will see through and complain */ | ||
19 | /* Using alternative method which is more likely to break | ||
20 | * on weird architectures, compilers, linkers and so on */ | ||
21 | struct globals *const ptr_to_globals __attribute__ ((section (".data"))); | ||
22 | |||
23 | #endif | ||
24 | |||