Hello, this patch fixes an issue about current used boehm-gc tree in gcc. The issue is that _DLL macro is used for Windows-targets wrong. It is assumed that it would mean to build a shared object (DLL), but it just indicates that built DLL/Exectuable is using shared msvcrt.dll runtime. (see here msdn about meaning for _DLL macro).
ChangeLog * include/gc_config_macros.h (GC_DLL): Define it for mingw-targets only, if we are actual in boehm-gc's build and DLL_EXPORT macro is defined. Tested for i686-w64-mingw32, i686-pc-mingw32, and x86_64-w64-mingw32 (including building of libjava with test). Ok for apply? Regards, Kai Index: include/gc_config_macros.h =================================================================== --- include/gc_config_macros.h (revision 183833) +++ include/gc_config_macros.h (working copy) @@ -81,7 +81,9 @@ typedef long ptrdiff_t; /* ptrdiff_t is not defined */ # endif -#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL) +#if ((defined(_DLL) && !defined (__MINGW32__)) \ + || (defined (DLL_EXPORT) && defined (GC_BUILD))) \ + && !defined(GC_DLL) # define GC_DLL #endif