aboutsummaryrefslogtreecommitdiff
path: root/libbb/ptr_to_globals.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-04-11 11:27:29 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-04-11 11:27:29 +0000
commit93b8263652ac001247ff923499bdc04ab0a1a4c4 (patch)
tree9c608c11471a562bbb359ec661cb4e3a9cd5489a /libbb/ptr_to_globals.c
parent80f647c21c4457b5f74f5cdd87b789a0fa0d7c0d (diff)
downloadbusybox-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.c15
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
8struct 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 */
10struct globals;
11struct globals *ptr_to_globals; 14struct 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 */
21struct globals *const ptr_to_globals __attribute__ ((section (".data")));
22
23#endif
24