31 lines
867 B
C
31 lines
867 B
C
#if SY__OS_LINUX
|
|
|
|
int spider;
|
|
|
|
extern SyType(SYMBOL_SET_DEFINE) SY__FIRST(SYMBOL_SET_DEFINE);
|
|
extern SyType(SYMBOL_SET_DEFINE) SY__OPL(SYMBOL_SET_DEFINE);
|
|
// (these symbols are resolved in the linker script)
|
|
|
|
#elif SY__OS_WINDOWS
|
|
|
|
#if COMPILER_CL
|
|
# pragma section(SY__GLUE(SYMBOL_SET_DEFINE,_section),read,write)
|
|
#endif
|
|
|
|
SyType(SYMBOL_SET_DEFINE) *SY__FIRST(SYMBOL_SET_DEFINE) = 0;
|
|
SyType(SYMBOL_SET_DEFINE) *SY__OPL(SYMBOL_SET_DEFINE) = 0;
|
|
|
|
SY__BEFORE_MAIN(SY__GLUE(SYMBOL_SET_DEFINE,__init)){
|
|
int size = sizeof(SY__GLUE(SYMBOL_SET_DEFINE,_section)) - 1;
|
|
void *first = 0;
|
|
void *opl = 0;
|
|
sy__section_init(SY__GLUE(SYMBOL_SET_DEFINE,_section), size,
|
|
(void**)&SY__FIRST(SYMBOL_SET_DEFINE),
|
|
(void**)&SY__OPL(SYMBOL_SET_DEFINE));
|
|
}
|
|
|
|
#else
|
|
# error symbol_set.define not implemented for this OS
|
|
#endif
|
|
|
|
#undef SYMBOL_SET_DEFINE |