diff options
author | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-21 19:34:19 +0000 |
---|---|---|
committer | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-21 19:34:19 +0000 |
commit | 8c9507aaad220eda91bfacbae850531905f707da (patch) | |
tree | c6fa9007c1930ea8acd78fbef42d3a79115e9884 /boehm-gc/dyn_load.c | |
parent | 0d86e2192838facc3b5f3edd6cedb16083e553a9 (diff) | |
download | gcc-8c9507aaad220eda91bfacbae850531905f707da.tar.gz |
PR target/42811 (prerequisite)
* include/private/gc_priv.h (struct roots) [CYGWIN32]: Don't
declare r_next member on Cygwin as on other windows hosts.
(LOG_RT_SIZE) [CYGWIN32]: Don't define likewise.
(RT_SIZE) [CYGWIN32]: Likewise.
(struct _GC_arrays) [CYGWIN32]: Do declare _heap_bases[] member
likewise.
(GC_heap_bases) [CYGWIN32]: Do define likewise.
(struct _SYSTEM_INFO) [CYGWIN32]: Do forward-declare likewise.
(GC_sysinfo) [CYGWIN32]: Do declare extern likewise.
(GC_n_heap_bases) [CYGWIN32]: Likewise.
(GC_is_tmp_root) [CYGWIN32]: Do prototype likewise.
* include/private/gcconfig.h (GC_win32_get_mem) [CYGWIN32]: Likewise.
(GET_MEM) [CYGWIN32]: Do define likewise.
* boehm-gc/ptr_chck.c (GC_is_visible) [CYGWIN32]: Do handle dynamic
registration likewise.
* boehm-gc/os_dep.c (GC_setpagesize) [CYGWIN32]: Do define likewise.
(GC_no_win32_dlls) [CYGWIN32]: Define as constant false, unlike
other windows hosts.
(GC_sysinfo) [CYGWIN32]: Define as on other windows hosts.
(GC_n_heap_bases) [CYGWIN32]: Likewise.
(GLOBAL_ALLOC_TEST) [CYGWIN32]: Likewise.
(GC_win32_get_mem) [CYGWIN32]: Likewise, but wrapping GC_unix_get_mem
rather than GlobalAlloc/VirtualAlloc.
(GC_win32_free_heap) [CYGWIN32]: Likewise, but wrapping free instead
of GlobalFree (even though the function body is optimised away).
* boehm-gc/mark_rts.c (add_roots_to_index) [CYGWIN32]: Define as on
other windows hosts.
(GC_add_roots_inner) [CYGWIN32]: Avoid overlapping or adjacent
intervals likewise.
(GC_clear_roots) [CYGWIN32]: Clear GC_root_index[] likewise.
(GC_rebuild_root_index) [CYGWIN32]: Define as on other windows hosts.
(GC_remove_tmp_roots) [CYGWIN32]: Call it likewise.
(GC_remove_roots) [CYGWIN32]: Don't define, as on other windows hosts.
(GC_is_tmp_root) [CYGWIN32]: Define, as on other windows hosts.
(GC_cond_register_dynamic_libraries) [CYGWIN32]: Handle temporary
roots and dynamic registration likewise.
* boehm-gc/dyn_load.c (GC_has_static_roots) [CYGWIN32]: Define as on
other windows hosts.
(GC_register_has_static_roots_callback) [CYGWIN32]: Likewise.
(GC_cond_add_roots) [CYGWIN32]: Likewise.
(GC_register_main_static_data) [CYGWIN32]: Define to always return
false, as on MSWINCE
(HAVE_REGISTER_MAIN_STATIC_DATA) [CYGWIN32]: Define as on other
windows hosts.
(GC_warn_fb) [CYGWIN32]: Likewise.
(GC_disallow_ignore_fb) [CYGWIN32]: Likewise.
(GC_ignore_fb_mb) [CYGWIN32]: Likewise.
(GC_ignore_fb) [CYGWIN32]: Likewise.
(is_frame_buffer) [CYGWIN32]: Likewise.
(GC_dump_meminfo) [CYGWIN32]: Likewise.
(GC_wnt) [CYGWIN32]: Define to constant true.
(GC_register_dynamic_libraries) [CYGWIN32]: Define as on other
windows hosts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157604 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/dyn_load.c')
-rw-r--r-- | boehm-gc/dyn_load.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c index 200abde7810..5bebc1c155d 100644 --- a/boehm-gc/dyn_load.c +++ b/boehm-gc/dyn_load.c @@ -49,10 +49,13 @@ # undef GC_must_restore_redefined_dlopen # endif -#if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE)) \ +#if (defined(DYNAMIC_LOADING) \ + || defined(MSWIN32) \ + || defined(MSWINCE) \ + || defined(CYGWIN32)) \ && !defined(PCR) #if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \ - !defined(MSWIN32) && !defined(MSWINCE) && \ + !defined(MSWIN32) && !defined(MSWINCE) && !defined(CYGWIN32) && \ !(defined(ALPHA) && defined(OSF1)) && \ !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \ !defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \ @@ -717,7 +720,7 @@ void GC_register_dynamic_libraries() # endif /* USE_PROC || IRIX5 */ -# if defined(MSWIN32) || defined(MSWINCE) +# if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32) # define WIN32_LEAN_AND_MEAN # define NOSERVICE @@ -761,7 +764,7 @@ void GC_register_dynamic_libraries() } # endif -# ifdef MSWINCE +# if defined(MSWINCE) || defined(CYGWIN32) /* Do we need to separately register the main static data segment? */ GC_bool GC_register_main_static_data() { @@ -868,8 +871,12 @@ void GC_register_dynamic_libraries() } # endif /* DEBUG_VIRTUALQUERY */ - extern GC_bool GC_wnt; /* Is Windows NT derivative. */ - /* Defined and set in os_dep.c. */ +# ifdef CYGWIN32 +# define GC_wnt (TRUE) +# else + extern GC_bool GC_wnt; /* Is Windows NT derivative. */ + /* Defined and set in os_dep.c. */ +# endif void GC_register_dynamic_libraries() { @@ -934,7 +941,7 @@ void GC_register_dynamic_libraries() GC_cond_add_roots(base, limit); } -#endif /* MSWIN32 || MSWINCE */ +#endif /* MSWIN32 || MSWINCE || CYGWIN32 */ #if defined(ALPHA) && defined(OSF1) |