Commit 512e32d2 by Anthony Green Committed by Anthony Green

Address mingw32 issues.

From-SVN: r50816
parent 8d39b447
2002-03-15 Anthony Green <green@redhat.com>
* misc.c (GC_init_inner): Initialize GC_write_cs before use.
* configure.in: Disable use of getenv for win32 targets (some of
which have broken implementations).
* configure: Rebuilt.
2002-03-12 Adam Megacz <adam@xwt.org>
* dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
......
......@@ -2727,6 +2727,10 @@ EOF
#define GC_WIN32_THREADS 1
EOF
cat >> confdefs.h <<\EOF
#define NO_GETENV 1
EOF
;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks)
{ echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
......@@ -2738,7 +2742,7 @@ esac
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
echo "configure:2742: checking for dlopen in -ldl" >&5
echo "configure:2746: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
......@@ -2746,7 +2750,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 2750 "configure"
#line 2754 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
......@@ -2757,7 +2761,7 @@ int main() {
dlopen()
; return 0; }
EOF
if { (eval echo configure:2761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:2765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
......
......@@ -109,6 +109,7 @@ case "$THREADS" in
;;
win32)
AC_DEFINE(GC_WIN32_THREADS)
AC_DEFINE(NO_GETENV)
;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks)
AC_MSG_ERROR(thread package $THREADS not yet supported)
......
......@@ -499,6 +499,10 @@ void GC_init_inner()
# ifdef PRINTSTATS
GC_print_stats = 1;
# endif
# if defined(MSWIN32) || defined(MSWINCE)
InitializeCriticalSection(&GC_write_cs);
# endif
if (0 != GETENV("GC_PRINT_STATS")) {
GC_print_stats = 1;
}
......@@ -536,9 +540,6 @@ void GC_init_inner()
if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
}
# if defined(MSWIN32) || defined(MSWINCE)
InitializeCriticalSection(&GC_write_cs);
# endif
GC_setpagesize();
GC_exclude_static_roots(beginGC_arrays, endGC_arrays);
GC_exclude_static_roots(beginGC_obj_kinds, endGC_obj_kinds);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment