busybox/libbb/lineedit_ptr_hack.c
<<
>>
Prefs
   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 lineedit_statics;
   9
  10#ifndef GCC_COMBINE
  11
  12/* We cheat here. It is declared as const ptr in libbb.h,
  13 * but here we make it live in R/W memory */
  14struct lineedit_statics *lineedit_ptr_to_statics;
  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 lineedit_statics *const lineedit_ptr_to_statics __attribute__ ((section (".data")));
  22
  23#endif
  24