aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-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