Annotation of OpenXM/src/gc/gc-cygwin64.diff, Revision 1.1
1.1 ! takayama 1: *** include/gc.h.orig Tue Jun 3 15:08:02 2014
! 2: --- include/gc.h Mon Sep 28 13:23:14 2015
! 3: ***************
! 4: *** 1592,1598 ****
! 5: /* THREAD_LOCAL_ALLOC defined and the initial allocation call is not */
! 6: /* to GC_malloc() or GC_malloc_atomic(). */
! 7:
! 8: ! #if defined(__CYGWIN32__) || defined(__CYGWIN__)
! 9: /* Similarly gnu-win32 DLLs need explicit initialization from the */
! 10: /* main program, as does AIX. */
! 11: extern int _data_start__[], _data_end__[], _bss_start__[], _bss_end__[];
! 12: --- 1592,1605 ----
! 13: /* THREAD_LOCAL_ALLOC defined and the initial allocation call is not */
! 14: /* to GC_malloc() or GC_malloc_atomic(). */
! 15:
! 16: ! #ifdef __CYGWIN__
! 17: ! #ifdef __x86_64__
! 18: ! extern int __data_start__[], __data_end__[], __bss_start__[], __bss_end__[];
! 19: ! #define GC_DATASTART (__data_start__ < __bss_start__ ?\
! 20: ! (void *)__data_start__ : (void *)__bss_start__)
! 21: ! #define GC_DATAEND (__data_end__ < __bss_end__ ?\
! 22: ! (void *)__data_end__ : (void *)__bss_end__)
! 23: ! #else
! 24: /* Similarly gnu-win32 DLLs need explicit initialization from the */
! 25: /* main program, as does AIX. */
! 26: extern int _data_start__[], _data_end__[], _bss_start__[], _bss_end__[];
! 27: ***************
! 28: *** 1600,1605 ****
! 29: --- 1607,1613 ----
! 30: (void *)_data_start__ : (void *)_bss_start__)
! 31: # define GC_DATAEND ((GC_word)_data_end__ > (GC_word)_bss_end__ ? \
! 32: (void *)_data_end__ : (void *)_bss_end__)
! 33: + #endif
! 34: # define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND); \
! 35: GC_gcollect() /* For blacklisting. */
! 36: /* Required at least if GC is in a DLL. And doesn't hurt. */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>