lineedit_ptr_hack.c 640 B

1234567891011121314151617181920212223
  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. struct lineedit_statics;
  8. #ifndef GCC_COMBINE
  9. /* We cheat here. It is declared as const ptr in libbb.h,
  10. * but here we make it live in R/W memory */
  11. struct lineedit_statics *lineedit_ptr_to_statics;
  12. #else
  13. /* gcc -combine will see through and complain */
  14. /* Using alternative method which is more likely to break
  15. * on weird architectures, compilers, linkers and so on */
  16. struct lineedit_statics *const lineedit_ptr_to_statics __attribute__ ((section (".data")));
  17. #endif