]> granicus.if.org Git - gc/commitdiff
2007-05-23 Hans Boehm <Hans.Boehm@hp.com>
authorhboehm <hboehm>
Thu, 24 May 2007 00:23:26 +0000 (00:23 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:40 +0000 (21:06 +0400)
* Makefile.am: Move includes to bottom.  Add better library
dependencies.  Increment library version.  Remove "SUBDIRS += .".
* cord/cord.am, tests/tests.am: Add better library dependencies.
Remove now unnecessary dependencies.
* Makefile.in: Regenerate.
* include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
Move to define on all Windows platforms.  (_beginthread): define
to generate error if used.

ChangeLog
Makefile.am
Makefile.in
cord/cord.am
include/gc.h
tests/tests.am

index 5ba092fae01bc397977a05571751c512bbcc936d..09ca5d4d31e13f2be774ea29062fef83a8487809 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-05-23  Hans Boehm <Hans.Boehm@hp.com>
+
+       * Makefile.am: Move includes to bottom.  Add better library
+       dependencies.  Increment library version.  Remove "SUBDIRS += .".
+       * cord/cord.am, tests/tests.am: Add better library dependencies.
+       Remove now unnecessary dependencies.
+       * Makefile.in: Regenerate.
+       * include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
+       Move to define on all Windows platforms.  (_beginthread): define
+       to generate error if used.
+
 2007-05-22  Hans Boehm <Hans.Boehm@hp.com>
 
        * include/private/gc_locks.h: Format to 80 columns.
index a842c7aca6264aec340fff54077a87e582b9c5d4..648e04059f7aa8384ed65d7a6b10c05416b6f265 100644 (file)
@@ -32,8 +32,6 @@
 # endif
 SUBDIRS =
 
-SUBDIRS += .
-
 # Initialize variables so that we can declare files locally.
 EXTRA_DIST = 
 lib_LTLIBRARIES =
@@ -46,12 +44,6 @@ TESTS =
 pkgconfigdir = $(libdir)/pkgconfig
 dist_pkgconfig_DATA = bdw-gc.pc
 
-include include/include.am
-include cord/cord.am
-include tests/tests.am
-include doc/doc.am
-
-
 # C Library
 # ---------
 
@@ -91,7 +83,8 @@ endif
 # linuxthread semaphore functions get linked:
 libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
 libgc_la_DEPENDENCIES = @addobjs@
-libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:2:0
+libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0
+# -no-undefined doesn't work here, since we get a reference to __tls_get_addr.
 
 EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
     mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
@@ -106,8 +99,8 @@ if CPLUSPLUS
 lib_LTLIBRARIES += libgccpp.la
 pkginclude_HEADERS += include/gc_cpp.h include/gc_allocator.h
 libgccpp_la_SOURCES = gc_cpp.cc
-libgccpp_la_LIBADD = $(THREADDLLIBS) $(UNWINDLIBS)
-libgccpp_la_LDFLAGS = -version-info 1:2:0
+libgccpp_la_LIBADD = $(top_builddir)/libgc.la
+libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined
 endif
 
 # FIXME: If Visual C++ users use Makefile.am, this should go into
@@ -203,3 +196,12 @@ EXTRA_DIST += libtool.m4
 # it will not remove dest if building fails
 .S.s:
        if $(CPP) $< >$@ ; then :; else rm -f $@; fi
+
+include include/include.am
+include cord/cord.am
+include tests/tests.am
+include doc/doc.am
+# Putting these at the top causes cord to be built first, and not find libgc.a
+# on HP/UX.  There may be a better fix.
+
+
index 54e6d79a7c20a39a94d9011b17f1dcb4ed6bc770..70ae6a7a04f98b50da5f0146a80f842fcce42ad4 100644 (file)
@@ -97,6 +97,17 @@ host_triplet = @host@
 target_triplet = @target@
 check_PROGRAMS = gctest$(EXEEXT) leaktest$(EXEEXT) middletest$(EXEEXT) \
        $(am__EXEEXT_1) $(am__EXEEXT_2)
+
+# C Library: Architecture Dependent
+# ---------------------------------
+@PTHREADS_TRUE@am__append_1 = pthread_support.c pthread_stop_world.c
+@DARWIN_THREADS_TRUE@am__append_2 = darwin_stop_world.c
+@WIN32_THREADS_TRUE@am__append_3 = win32_threads.c
+
+# C++ Interface
+# -------------
+@CPLUSPLUS_TRUE@am__append_4 = libgccpp.la
+@CPLUSPLUS_TRUE@am__append_5 = include/gc_cpp.h include/gc_allocator.h
 DIST_COMMON = $(am__configure_deps) $(am__pkginclude_HEADERS_DIST) \
        $(dist_noinst_HEADERS) $(dist_noinst_SCRIPTS) \
        $(dist_pkgconfig_DATA) $(dist_pkgdata_DATA) $(include_HEADERS) \
@@ -111,21 +122,10 @@ DIST_COMMON = $(am__configure_deps) $(am__pkginclude_HEADERS_DIST) \
 #check_PROGRAMS += tracetest
 #tracetest_SOURCES = tests/trace_test.c
 #tracetest_LDADD = $(test_ldadd)
-@THREADS_TRUE@am__append_1 = threadleaktest$(EXEEXT)
-@THREADS_TRUE@am__append_2 = threadleaktest
-@CPLUSPLUS_TRUE@am__append_3 = test_cpp$(EXEEXT)
-@CPLUSPLUS_TRUE@am__append_4 = test_cpp
-
-# C Library: Architecture Dependent
-# ---------------------------------
-@PTHREADS_TRUE@am__append_5 = pthread_support.c pthread_stop_world.c
-@DARWIN_THREADS_TRUE@am__append_6 = darwin_stop_world.c
-@WIN32_THREADS_TRUE@am__append_7 = win32_threads.c
-
-# C++ Interface
-# -------------
-@CPLUSPLUS_TRUE@am__append_8 = libgccpp.la
-@CPLUSPLUS_TRUE@am__append_9 = include/gc_cpp.h include/gc_allocator.h
+@THREADS_TRUE@am__append_6 = threadleaktest$(EXEEXT)
+@THREADS_TRUE@am__append_7 = threadleaktest
+@CPLUSPLUS_TRUE@am__append_8 = test_cpp$(EXEEXT)
+@CPLUSPLUS_TRUE@am__append_9 = test_cpp
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
@@ -147,7 +147,7 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
        "$(DESTDIR)$(pkgincludedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
-libcord_la_LIBADD =
+libcord_la_DEPENDENCIES = $(top_builddir)/libgc.la
 am__dirstamp = $(am__leading_dot)dirstamp
 am_libcord_la_OBJECTS = cord/cordbscs.lo cord/cordprnt.lo \
        cord/cordtest.lo cord/cordxtra.lo
@@ -175,8 +175,7 @@ am_libgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
 @NEED_ATOMIC_OPS_ASM_TRUE@nodist_libgc_la_OBJECTS =  \
 @NEED_ATOMIC_OPS_ASM_TRUE@     atomic_ops_sysdeps.lo
 libgc_la_OBJECTS = $(am_libgc_la_OBJECTS) $(nodist_libgc_la_OBJECTS)
-@CPLUSPLUS_TRUE@libgccpp_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-@CPLUSPLUS_TRUE@       $(am__DEPENDENCIES_1)
+@CPLUSPLUS_TRUE@libgccpp_la_DEPENDENCIES = $(top_builddir)/libgc.la
 am__libgccpp_la_SOURCES_DIST = gc_cpp.cc
 @CPLUSPLUS_TRUE@am_libgccpp_la_OBJECTS = gc_cpp.lo
 libgccpp_la_OBJECTS = $(am_libgccpp_la_OBJECTS)
@@ -185,8 +184,7 @@ libgccpp_la_OBJECTS = $(am_libgccpp_la_OBJECTS)
 @CPLUSPLUS_TRUE@am__EXEEXT_2 = test_cpp$(EXEEXT)
 am_gctest_OBJECTS = tests/test.$(OBJEXT)
 gctest_OBJECTS = $(am_gctest_OBJECTS)
-am__DEPENDENCIES_2 = $(top_builddir)/libgc.la $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am__DEPENDENCIES_2 = $(top_builddir)/libgc.la $(am__DEPENDENCIES_1)
 am_leaktest_OBJECTS = tests/leak_test.$(OBJEXT)
 leaktest_OBJECTS = $(am_leaktest_OBJECTS)
 leaktest_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -246,13 +244,12 @@ dist_pkgconfigDATA_INSTALL = $(INSTALL_DATA)
 dist_pkgdataDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(dist_pkgconfig_DATA) $(dist_pkgdata_DATA)
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
-am__pkginclude_HEADERS_DIST = include/gc.h include/gc_typed.h \
-       include/gc_inline.h include/gc_mark.h include/gc_cpp.h \
-       include/weakpointer.h include/new_gc_alloc.h \
-       include/gc_allocator.h include/gc_backptr.h include/gc_gcj.h \
-       include/leak_detector.h include/gc_amiga_redirects.h \
-       include/gc_pthread_redirects.h include/gc_config_macros.h \
-       include/gc_tiny_fl.h
+am__pkginclude_HEADERS_DIST = include/gc_cpp.h include/gc_allocator.h \
+       include/gc.h include/gc_typed.h include/gc_inline.h \
+       include/gc_mark.h include/weakpointer.h include/new_gc_alloc.h \
+       include/gc_backptr.h include/gc_gcj.h include/leak_detector.h \
+       include/gc_amiga_redirects.h include/gc_pthread_redirects.h \
+       include/gc_config_macros.h include/gc_tiny_fl.h
 pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(dist_noinst_HEADERS) $(include_HEADERS) \
        $(pkginclude_HEADERS)
@@ -425,7 +422,7 @@ target_vendor = @target_vendor@
 # else
 # SUBDIRS =
 # endif
-SUBDIRS = .
+SUBDIRS = 
 
 # Initialize variables so that we can declare files locally.
 
@@ -447,43 +444,42 @@ SUBDIRS = .
 
 # :FIXME: why do we distribute this one???
 #
-EXTRA_DIST = cord/cordbscs.c cord/cordtest.c cord/de.c cord/cordprnt.c \
-       cord/cordxtra.c cord/de_cmds.h cord/de_win.h cord/de_win.c \
-       cord/de_win.RC cord/de_win.ICO gc_cpp.cpp README.QUICK \
-       BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE OS2_MAKEFILE \
-       PCR-Makefile digimars.mak EMX_MAKEFILE Makefile.direct \
-       Makefile.dj Makefile.DLLs SMakefile.amiga WCC_MAKEFILE \
-       configure_atomic_ops.sh NT_STATIC_THREADS_MAKEFILE \
-       add_gc_prefix.c gcname.c if_mach.c if_not_there.c \
-       hpux_test_and_clear.s gc.mak MacOS.c MacProjects.sit.hqx \
-       mach_dep.c setjmp_t.c threadlibs.c AmigaOS.c \
-       Mac_files/datastart.c Mac_files/dataend.c \
+EXTRA_DIST = gc_cpp.cpp README.QUICK BCC_MAKEFILE NT_MAKEFILE \
+       NT_THREADS_MAKEFILE OS2_MAKEFILE PCR-Makefile digimars.mak \
+       EMX_MAKEFILE Makefile.direct Makefile.dj Makefile.DLLs \
+       SMakefile.amiga WCC_MAKEFILE configure_atomic_ops.sh \
+       NT_STATIC_THREADS_MAKEFILE add_gc_prefix.c gcname.c if_mach.c \
+       if_not_there.c hpux_test_and_clear.s gc.mak MacOS.c \
+       MacProjects.sit.hqx mach_dep.c setjmp_t.c threadlibs.c \
+       AmigaOS.c Mac_files/datastart.c Mac_files/dataend.c \
        Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
        include/private/msvc_dbg.h msvc_dbg.c libatomic_ops-1.2 \
-       libtool.m4
+       libtool.m4 cord/cordbscs.c cord/cordtest.c cord/de.c \
+       cord/cordprnt.c cord/cordxtra.c cord/de_cmds.h cord/de_win.h \
+       cord/de_win.c cord/de_win.RC cord/de_win.ICO
 
 # C Library
 # ---------
-lib_LTLIBRARIES = libcord.la libgc.la $(am__append_8)
+lib_LTLIBRARIES = libgc.la $(am__append_4) libcord.la
 include_HEADERS = 
 
 # installed headers
 #
-pkginclude_HEADERS = include/gc.h include/gc_typed.h \
+pkginclude_HEADERS = $(am__append_5) include/gc.h include/gc_typed.h \
        include/gc_inline.h include/gc_mark.h include/gc_cpp.h \
        include/weakpointer.h include/new_gc_alloc.h \
        include/gc_allocator.h include/gc_backptr.h include/gc_gcj.h \
        include/leak_detector.h include/gc_amiga_redirects.h \
        include/gc_pthread_redirects.h include/gc_config_macros.h \
-       include/gc_tiny_fl.h $(am__append_9)
+       include/gc_tiny_fl.h
 
 # headers which are not installed
+# (see include/include.am for more)
 #
 
 # headers which are not installed
-# (see include/include.am for more)
 #
-dist_noinst_HEADERS = include/private/gc_hdrs.h \
+dist_noinst_HEADERS = version.h include/private/gc_hdrs.h \
        include/private/gc_priv.h include/private/gcconfig.h \
        include/private/gc_pmark.h include/private/gc_locks.h \
        include/private/dbg_mlc.h include/private/specific.h \
@@ -492,11 +488,57 @@ dist_noinst_HEADERS = include/private/gc_hdrs.h \
        include/private/darwin_semaphore.h \
        include/private/darwin_stop_world.h \
        include/private/thread_local_alloc.h include/cord.h \
-       include/ec.h include/javaxfc.h version.h
+       include/ec.h include/javaxfc.h
 TESTS = gctest$(EXEEXT) leaktest$(EXEEXT) middletest$(EXEEXT) \
-       $(am__append_1) $(am__append_3)
+       $(am__append_6) $(am__append_8)
 pkgconfigdir = $(libdir)/pkgconfig
 dist_pkgconfig_DATA = bdw-gc.pc
+libgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
+       dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c malloc.c \
+       mallocx.c mark.c mark_rts.c misc.c new_hblk.c obj_map.c \
+       os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
+       specific.c stubborn.c typd_mlc.c backgraph.c \
+       thread_local_alloc.c $(am__append_1) $(am__append_2) \
+       $(am__append_3)
+@NEED_ATOMIC_OPS_ASM_TRUE@nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S
+@USE_INTERNAL_LIBATOMIC_OPS_TRUE@nodist_libgc_la_SOURCES = atomic_ops.c
+
+# Include THREADDLLIBS here to ensure that the correct versions of
+# linuxthread semaphore functions get linked:
+libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
+libgc_la_DEPENDENCIES = @addobjs@
+libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0
+# -no-undefined doesn't work here, since we get a reference to __tls_get_addr.
+EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
+    mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
+    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
+    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
+
+@CPLUSPLUS_TRUE@libgccpp_la_SOURCES = gc_cpp.cc
+@CPLUSPLUS_TRUE@libgccpp_la_LIBADD = $(top_builddir)/libgc.la
+@CPLUSPLUS_TRUE@libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined
+
+# Misc
+# ----
+AM_CXXFLAGS = @GC_CFLAGS@
+AM_CFLAGS = @GC_CFLAGS@
+@COMPILER_XLC_FALSE@ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp
+
+#all_objs = @addobjs@ $(libgc_la_OBJECTS)
+#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
+#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \
+#include/gc_pthread_redirects.h include/gc_config_macros.h \
+#include/private/thread_local_alloc.h include/private_support.h \
+#include/private/pthread_stop_world.h \
+#include/gc_mark.h @addincludes@
+@COMPILER_XLC_TRUE@ASM_CPP_OPTIONS = 
+dist_noinst_SCRIPTS = callprocs configure.host
+
+# this is an auxiliary shell file used by Makefile and Makefile.direct
+#
+CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
+libcord_la_LIBADD = $(top_builddir)/libgc.la
+libcord_la_LDFLAGS = -version-info 1:3:0 -no-undefined
 libcord_la_SOURCES = \
        cord/cordbscs.c                         \
        cord/cordprnt.c                         \
@@ -505,10 +547,7 @@ libcord_la_SOURCES = \
 
 
 # Common libs to _LDADD for all tests.
-test_ldadd = \
-       $(top_builddir)/libgc.la \
-       $(THREADDLLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
-
+test_ldadd = $(top_builddir)/libgc.la $(EXTRA_TEST_LIBS)
 gctest_SOURCES = tests/test.c
 gctest_LDADD = $(test_ldadd)
 gctest_DEPENDENCIES = $(top_builddir)/libgc.la
@@ -559,49 +598,6 @@ dist_pkgdata_DATA = \
        doc/simple_example.html \
        doc/porting.html
 
-libgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
-       dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c malloc.c \
-       mallocx.c mark.c mark_rts.c misc.c new_hblk.c obj_map.c \
-       os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
-       specific.c stubborn.c typd_mlc.c backgraph.c \
-       thread_local_alloc.c $(am__append_5) $(am__append_6) \
-       $(am__append_7)
-@NEED_ATOMIC_OPS_ASM_TRUE@nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S
-@USE_INTERNAL_LIBATOMIC_OPS_TRUE@nodist_libgc_la_SOURCES = atomic_ops.c
-
-# Include THREADDLLIBS here to ensure that the correct versions of
-# linuxthread semaphore functions get linked:
-libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
-libgc_la_DEPENDENCIES = @addobjs@
-libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:2:0
-EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
-    mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
-    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
-    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
-
-@CPLUSPLUS_TRUE@libgccpp_la_SOURCES = gc_cpp.cc
-@CPLUSPLUS_TRUE@libgccpp_la_LIBADD = $(THREADDLLIBS) $(UNWINDLIBS)
-@CPLUSPLUS_TRUE@libgccpp_la_LDFLAGS = -version-info 1:2:0
-
-# Misc
-# ----
-AM_CXXFLAGS = @GC_CFLAGS@
-AM_CFLAGS = @GC_CFLAGS@
-@COMPILER_XLC_FALSE@ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp
-
-#all_objs = @addobjs@ $(libgc_la_OBJECTS)
-#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
-#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \
-#include/gc_pthread_redirects.h include/gc_config_macros.h \
-#include/private/thread_local_alloc.h include/private_support.h \
-#include/private/pthread_stop_world.h \
-#include/gc_mark.h @addincludes@
-@COMPILER_XLC_TRUE@ASM_CPP_OPTIONS = 
-dist_noinst_SCRIPTS = callprocs configure.host
-
-# this is an auxiliary shell file used by Makefile and Makefile.direct
-#
-CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
 all: all-recursive
 
 .SUFFIXES:
@@ -1400,6 +1396,9 @@ uninstall-info: uninstall-info-recursive
 # it will not remove dest if building fails
 .S.s:
        if $(CPP) $< >$@ ; then :; else rm -f $@; fi
+
+# Putting these at the top causes cord to be built first, and not find libgc.a
+# on HP/UX.  There may be a better fix.
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 2ce618081954f5e5bf0ada8f416ff2e06d38b81c..fc5e8cc20346a347c2b1d82c0fe95b879935e1aa 100644 (file)
@@ -1,6 +1,9 @@
 
 lib_LTLIBRARIES += libcord.la
 
+libcord_la_LIBADD = $(top_builddir)/libgc.la
+libcord_la_LDFLAGS = -version-info 1:3:0 -no-undefined
+
 libcord_la_SOURCES = \
        cord/cordbscs.c                         \
        cord/cordprnt.c                         \
index d4a1d2d58717dd1f27885ad366ea27330e9295eb..f3d17d1afa6b6fdbf4622994d8010de41a6f2917 100644 (file)
@@ -1026,6 +1026,16 @@ GC_register_has_static_roots_callback
       DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
       LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );
 
+
+   GC_API uintptr_t GC_beginthreadex(
+     void *security, unsigned stack_size,
+     unsigned ( __stdcall *start_address )( void * ),
+     void *arglist, unsigned initflag, unsigned *thrdaddr);
+
+   GC_API void GC_endthreadex(unsigned retval);
+
+   GC_API void WINAPI GC_ExitThread(DWORD dwExitCode);
+
 # if defined(_WIN32_WCE)
   /*
    * win32_threads.c implements the real WinMain, which will start a new thread
@@ -1036,16 +1046,6 @@ GC_register_has_static_roots_callback
       HINSTANCE hPrevInstance,
       LPWSTR lpCmdLine,
       int nCmdShow );
-
-  GC_API uintptr_t GC_beginthreadex(
-    void *security, unsigned stack_size,
-    unsigned ( __stdcall *start_address )( void * ),
-    void *arglist, unsigned initflag, unsigned *thrdaddr);
-
-  GC_API void GC_endthreadex(unsigned retval);
-
-  GC_API void WINAPI GC_ExitThread(DWORD dwExitCode);
-
 #  ifndef GC_BUILD
 #    define WinMain GC_WinMain
 #  endif
@@ -1060,6 +1060,7 @@ GC_API void GC_use_DllMain(void);
 # define ExitThread GC_ExitThread
 # define _beginthreadex GC_beginthreadex
 # define _endthreadex GC_endthreadex
+# define _beginthread { > "Please use _beginthreadex instead of _beginthread" < }
 
 #endif /* defined(GC_WIN32_THREADS)  && !cygwin */
 
index 7dbff3828208943cd1f72dd18798e8d84fa71870..aedac1fa67441ec375f41713dbd6110326a3ef29 100644 (file)
 
 
 # Common libs to _LDADD for all tests.
-test_ldadd = \
-       $(top_builddir)/libgc.la \
-       $(THREADDLLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
-
+test_ldadd = $(top_builddir)/libgc.la $(EXTRA_TEST_LIBS)
 
 
 TESTS += gctest$(EXEEXT)