source: MondoRescue/branches/2.2.9/mindi-busybox/shell/ash_ptr_hack.c@ 3320

Last change on this file since 3320 was 3320, checked in by Bruno Cornec, 9 years ago
  • Re-add (thanks git BTW) the 2.2.9 branch which had been destroyed in the move to 3.0
  • Property svn:eol-style set to native
File size: 974 bytes
Line 
1/* vi: set sw=4 ts=4: */
2/*
3 * Copyright (C) 2008 by Denys Vlasenko <vda.linux@googlemail.com>
4 *
5 * Licensed under GPLv2, see file LICENSE in this source tree.
6 */
7
8struct globals_misc;
9struct globals_memstack;
10struct globals_var;
11
12#ifndef GCC_COMBINE
13
14/* We cheat here. They are declared as const ptr in ash.c,
15 * but here we make them live in R/W memory */
16struct globals_misc *ash_ptr_to_globals_misc;
17struct globals_memstack *ash_ptr_to_globals_memstack;
18struct globals_var *ash_ptr_to_globals_var;
19
20#else
21
22/* gcc -combine will see through and complain */
23/* Using alternative method which is more likely to break
24 * on weird architectures, compilers, linkers and so on */
25struct globals_misc *const ash_ptr_to_globals_misc __attribute__ ((section (".data")));
26struct globals_memstack *const ash_ptr_to_globals_memstack __attribute__ ((section (".data")));
27struct globals_var *const ash_ptr_to_globals_var __attribute__ ((section (".data")));
28
29#endif
Note: See TracBrowser for help on using the repository browser.