summaryrefslogtreecommitdiff
path: root/dyn_load.c
diff options
context:
space:
mode:
authorivmai <ivmai>2010-03-19 20:21:02 +0100
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 19:06:53 +0200
commit40d3de7f9affcc48104b505b4903f164f6b672ff (patch)
tree81441f406f6778366fdaf6ec243739edca1a7991 /dyn_load.c
parent7896408d4149347588ed0e36319b53bcea70115b (diff)
2010-03-19 Ivan Maidanski <ivmai@mail.ru> (really Dave Korn)
* dyn_load.c (GC_get_next_stack, GC_cond_add_roots): Define for Cygwin as well as other win32 targets. * dyn_load.c (GC_wnt): Define to constant true. * dyn_load.c (GC_register_dynamic_libraries): Define for Cygwin as well as other win32 targets. * mark_rts.c (rt_hash, GC_roots_present, add_roots_to_index): Don't define for Cygwin, as on other win32. * mark_rts.c (GC_add_roots_inner, GC_clear_roots): Handle on Cygwin as for other win32 targets. * mark_rts.c (GC_rebuild_root_index): Don't declare on Cygwin, as other win32. * mark_rts.c (GC_remove_tmp_roots): Do declare on Cygwin as on other win32. * mark_rts.c (GC_remove_roots, GC_remove_roots_inner): Don't declare on Cygwin as on other win32. * mark_rts.c (GC_is_tmp_root): Do declare on Cygwin when !NO_DEBUGGING, as on other win32 targets. * mark_rts.c (GC_cond_register_dynamic_libraries): Handle on Cygwin as for other win32 targets. * os_dep.c (GC_setpagesize): Handle on Cygwin as on other win32. * os_dep.c (GC_get_main_stack_base): Don't declare on Cygwin, as other win32. * os_dep.c (GC_sysinfo): Declare on Cygwin, as other win32. * os_dep.c (GC_win32_get_mem): Declare on Cygwin, as on other Win32, but call GC_unix_get_mem instead of GlobalAlloc. * os_dep.c (GC_win32_free_heap): Declare on Cygwin (as empty). * ptr_chck.c (GC_is_visible): Register dynamic libraries on Cygwin as on other win32 platforms. * win32_threads.c (GC_get_next_stack): Define on Cygwin as well as for dynamic loading targets. * include/private/gc_priv.h (GC_INNER): Don't try to use visibility on Cygwin which does not support it. * include/private/gc_priv.h (struct roots): Don't declare r_next member on Cygwin as on other windows hosts. * include/private/gc_priv.h (LOG_RT_SIZE, RT_SIZE): Don't define likewise. * include/private/gc_priv.h (struct _GC_arrays): Do declare _heap_bases[] member and don't declare _root_index likewise. * include/private/gc_priv.h (GC_heap_bases): Do define likewise. * include/private/gc_priv.h (_SYSTEM_INFO): Do forward-declare likewise. * include/private/gc_priv.h (GC_sysinfo): Do declare extern likewise. * include/private/gcconfig.h (GC_win32_get_mem, GET_MEM): Do prototype on Cygwin as other win32 platforms.
Diffstat (limited to 'dyn_load.c')
-rw-r--r--dyn_load.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/dyn_load.c b/dyn_load.c
index d9799db..8b5eb9d 100644
--- a/dyn_load.c
+++ b/dyn_load.c
@@ -52,11 +52,11 @@
/* FIXME: Add filter support for more platforms. */
STATIC GC_has_static_roots_func GC_has_static_roots = 0;
-#if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE)) \
- && !defined(PCR)
+#if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE) \
+ || defined(CYGWIN32)) && !defined(PCR)
#if !defined(SOLARISDL) && !defined(IRIX5) && \
- !defined(MSWIN32) && !defined(MSWINCE) && \
+ !defined(MSWIN32) && !defined(MSWINCE) && !defined(CYGWIN32) && \
!(defined(ALPHA) && defined(OSF1)) && \
!defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
@@ -842,7 +842,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
/* GC_register_main_static_data is not needed unless DYNAMIC_LOADING. */
GC_INNER GC_bool GC_register_main_static_data(void)
{
-# ifdef MSWINCE
+# if defined(MSWINCE) || defined(CYGWIN32)
/* Do we need to separately register the main static data segment? */
return FALSE;
# else
@@ -864,7 +864,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
}
# endif /* DEBUG_VIRTUALQUERY */
-# ifdef MSWINCE
+# if defined(MSWINCE) || defined(CYGWIN32)
/* FIXME: Should we really need to scan MEM_PRIVATE sections? */
/* For now, we don't add MEM_PRIVATE sections to the data roots for */
/* WinCE because otherwise SEGV fault sometimes happens to occur in */