Annotation of OpenXM/src/gc/gc-cygwin64.diff, Revision 1.2
1.2 ! ohara 1: *** gc-7.4.2/include/gc.h.orig Tue Jun 3 15:08:02 2014
! 2: --- gc-7.4.2/include/gc.h Mon Sep 28 13:23:14 2015
1.1 takayama 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>