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> 2002-03-12 Adam Megacz <adam@xwt.org>
* dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls. * dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
......
...@@ -2727,6 +2727,10 @@ EOF ...@@ -2727,6 +2727,10 @@ EOF
#define GC_WIN32_THREADS 1 #define GC_WIN32_THREADS 1
EOF EOF
cat >> confdefs.h <<\EOF
#define NO_GETENV 1
EOF
;; ;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks) decosf1 | irix | mach | os2 | solaris | dce | vxworks)
{ echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; } { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
...@@ -2738,7 +2742,7 @@ esac ...@@ -2738,7 +2742,7 @@ esac
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 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_%'` ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -2746,7 +2750,7 @@ else ...@@ -2746,7 +2750,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS" LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2750 "configure" #line 2754 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -2757,7 +2761,7 @@ int main() { ...@@ -2757,7 +2761,7 @@ int main() {
dlopen() dlopen()
; return 0; } ; return 0; }
EOF 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* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
......
...@@ -109,6 +109,7 @@ case "$THREADS" in ...@@ -109,6 +109,7 @@ case "$THREADS" in
;; ;;
win32) win32)
AC_DEFINE(GC_WIN32_THREADS) AC_DEFINE(GC_WIN32_THREADS)
AC_DEFINE(NO_GETENV)
;; ;;
decosf1 | irix | mach | os2 | solaris | dce | vxworks) decosf1 | irix | mach | os2 | solaris | dce | vxworks)
AC_MSG_ERROR(thread package $THREADS not yet supported) AC_MSG_ERROR(thread package $THREADS not yet supported)
......
...@@ -499,6 +499,10 @@ void GC_init_inner() ...@@ -499,6 +499,10 @@ void GC_init_inner()
# ifdef PRINTSTATS # ifdef PRINTSTATS
GC_print_stats = 1; GC_print_stats = 1;
# endif # endif
# if defined(MSWIN32) || defined(MSWINCE)
InitializeCriticalSection(&GC_write_cs);
# endif
if (0 != GETENV("GC_PRINT_STATS")) { if (0 != GETENV("GC_PRINT_STATS")) {
GC_print_stats = 1; GC_print_stats = 1;
} }
...@@ -536,9 +540,6 @@ void GC_init_inner() ...@@ -536,9 +540,6 @@ void GC_init_inner()
if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) { if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH); GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
} }
# if defined(MSWIN32) || defined(MSWINCE)
InitializeCriticalSection(&GC_write_cs);
# endif
GC_setpagesize(); GC_setpagesize();
GC_exclude_static_roots(beginGC_arrays, endGC_arrays); GC_exclude_static_roots(beginGC_arrays, endGC_arrays);
GC_exclude_static_roots(beginGC_obj_kinds, endGC_obj_kinds); 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