]> granicus.if.org Git - gc/commitdiff
2010-04-09 Ivan Maidanski <ivmai@mail.ru>
authorivmai <ivmai>
Fri, 9 Apr 2010 08:32:48 +0000 (08:32 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:53 +0000 (21:06 +0400)
* NT_MAKEFILE: Remove the comment about DLL and Win32S.
* NT_STATIC_THREADS_MAKEFILE: Ditto.
* NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
* NT_MAKEFILE: Add ".SUFFIXES" directive (to handle gc_cpp.cc
properly on VS 2005+).
* NT_MAKEFILE: Update GC log file name in comments.
* NT_STATIC_THREADS_MAKEFILE: Ditto.
* NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
* NT_X64_THREADS_MAKEFILE: Ditto.
* doc/README.win32: Ditto.
* NT_MAKEFILE: Remove ":full" for "-debug" option (since no
longer supported by VS).
* NT_STATIC_THREADS_MAKEFILE: Ditto.
* NT_MAKEFILE: Commented out copying of gc_cpp.cc to gc_cpp.cpp.
* NT_STATIC_THREADS_MAKEFILE: Ditto.
* NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
* NT_X64_THREADS_MAKEFILE: Ditto.
* NT_STATIC_THREADS_MAKEFILE: Add -D PARALLEL_MARK option.
* NT_STATIC_THREADS_MAKEFILE: Increase stack size for gctest.exe.
* NT_X64_STATIC_THREADS_MAKEFILE: Remove "-stack" option (use the
default stack size limit).
* NT_X64_THREADS_MAKEFILE: Rename "gc64_dll.dll" to "gc64.dll".
* win32_threads.c (GC_get_next_stack): Always define (since it is
also used for Cygwin now).

ChangeLog
NT_MAKEFILE
NT_STATIC_THREADS_MAKEFILE
NT_X64_STATIC_THREADS_MAKEFILE
NT_X64_THREADS_MAKEFILE
doc/README.win32
win32_threads.c

index b43001df6e37d5d6d0ca8fdb0254f6bf75e2822e..39ccf2e49240d66ecce9d0e0fc6967cde0595532 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2010-04-09  Ivan Maidanski <ivmai@mail.ru>
+
+       * NT_MAKEFILE: Remove the comment about DLL and Win32S.
+       * NT_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_MAKEFILE: Add ".SUFFIXES" directive (to handle gc_cpp.cc
+       properly on VS 2005+).
+       * NT_MAKEFILE: Update GC log file name in comments.
+       * NT_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_X64_THREADS_MAKEFILE: Ditto.
+       * doc/README.win32: Ditto.
+       * NT_MAKEFILE: Remove ":full" for "-debug" option (since no
+       longer supported by VS).
+       * NT_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_MAKEFILE: Commented out copying of gc_cpp.cc to gc_cpp.cpp.
+       * NT_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_X64_STATIC_THREADS_MAKEFILE: Ditto.
+       * NT_X64_THREADS_MAKEFILE: Ditto.
+       * NT_STATIC_THREADS_MAKEFILE: Add -D PARALLEL_MARK option.
+       * NT_STATIC_THREADS_MAKEFILE: Increase stack size for gctest.exe.
+       * NT_X64_STATIC_THREADS_MAKEFILE: Remove "-stack" option (use the
+       default stack size limit).
+       * NT_X64_THREADS_MAKEFILE: Rename "gc64_dll.dll" to "gc64.dll".
+       * win32_threads.c (GC_get_next_stack): Always define (since it is
+       also used for Cygwin now).
+
 2010-03-26  Ivan Maidanski <ivmai@mail.ru> (really Hans Boehm)
 
        * alloc.c (GC_maybe_gc): Move GC_notify_full_gc() call upper to
index e4100b517f77c806bb4181b48db50a1dffa82466..e454b0b0174286c4717f1a82fa3d53c596a09a35 100644 (file)
@@ -1,11 +1,15 @@
 # Makefile for Windows NT.  Assumes Microsoft compiler, and a single thread.
-# DLLs are included in the root set under NT, but not under win32S.
 # Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
 
 MY_CPU=X86
 CPU=$(MY_CPU)
 !include <ntwin32.mak>
 
+# Make sure that .cc is not viewed as a suffix.  It is for VC++2005, but
+# not earlier versions.  We can deal with either, but not inconsistency.
+.SUFFIXES:
+.SUFFIXES: .obj .cpp .c
+
 OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj extra\msvc_dbg.obj
 
 all: gctest.exe cord\de.exe test_cpp.exe
@@ -26,8 +30,8 @@ gctest.exe: tests\test.obj gc.lib
 #      The following works for win32 debugging.  For win32s debugging use debugtype:coff
 #      and add mapsympe line.
 #  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This is done to make the result runnable under win32s.
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
+#  "gctest.gc.log".  This is done to make the result runnable under win32s.
+       $(link) -debug -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
 #      mapsympe -n -o gctest.sym gctest.exe
 
 cord\de_win.rbj: cord\de_win.res
@@ -40,21 +44,18 @@ cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
 
 # Cord/de is a real win32 gui application.
 cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
+       $(link) -debug -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
 
 gc_cpp.obj: include\gc_cpp.h include\gc.h
 
 gc_cpp.cpp: gc_cpp.cc
-       copy gc_cpp.cc gc_cpp.cpp
+#      copy gc_cpp.cc gc_cpp.cpp
 
 test_cpp.cpp: tests\test_cpp.cc
        copy tests\test_cpp.cc test_cpp.cpp
 
 # This generates the C++ test executable.  The executable expects
 # a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
+# The output appears in the file "test_cpp.gc.log".
 test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
-
-
-
+       $(link) -debug -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
index 69a9c5b8a30e9a2b4c9e4e01f2f211bdd9b50e78..dfcc7c6a4107999a58eb37504ce5aafc779c3e8c 100644 (file)
@@ -1,5 +1,4 @@
 # Makefile for Windows NT.  Assumes Microsoft compiler.
-# DLLs are included in the root set under NT, but not under win32S.
 # Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
 
 MY_CPU=X86
@@ -23,7 +22,7 @@ OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_r
 all: gctest.exe cord\de.exe test_cpp.exe
 
 .c.obj:
-       $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj
+       $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj
 
 .cpp.obj:
        $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $*.CPP -DGC_THREADS -DTHREAD_LOCAL_ALLOC /Fo$*.obj
@@ -38,8 +37,8 @@ gctest.exe: tests\test.obj gc.lib
 #      The following works for win32 debugging.  For win32s debugging use debugtype:coff
 #      and add mapsympe line.
 #  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This is done to make the result runnable under win32s.
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
+#  "gctest.gc.log".  This is done to make the result runnable under win32s.
+       $(link) -debug -debugtype:cv $(guiflags) -stack:262144 -out:$*.exe tests\test.obj $(guilibs) gc.lib
 #      mapsympe -n -o gctest.sym gctest.exe
 
 cord\de_win.rbj: cord\de_win.res
@@ -52,22 +51,21 @@ cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
 
 # Cord/de is a real win32 gui application.
 cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
+       $(link) -debug -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
 
 gc_cpp.obj: include\gc_cpp.h include\gc.h
 
 gc_cpp.cpp: gc_cpp.cc
-       copy gc_cpp.cc gc_cpp.cpp
+#      copy gc_cpp.cc gc_cpp.cpp
 
 test_cpp.cpp: tests\test_cpp.cc
        copy tests\test_cpp.cc test_cpp.cpp
 
 # This generates the C++ test executable.  The executable expects
 # a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
+# The output appears in the file "test_cpp.gc.log".
 test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-       $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
+       $(link) -debug -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
 
 AO_SCR_DIR:
                tar xvfz $(AO_SRC_DIR).tar.gz;
-
index 611604b67bd029c18c141dda1e879aa66776de9a..7b31bfd51ace2f23e4077766ac1b20b5c4c56ede 100644 (file)
@@ -1,5 +1,4 @@
 # Makefile for Windows NT.  Assumes Microsoft compiler.
-# DLLs are included in the root set.
 # Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
 
 MY_CPU=AMD64
@@ -37,10 +36,9 @@ gc.lib: $(OBJS)
        lib /MACHINE:X64 /out:gc.lib $(OBJS)
 
 gctest.exe: tests\test.obj gc.lib
-#  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This was done to make the result runnable under win32s and
-#  should be fixed.
-       $(link) $(ldebug) $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
+#  This produces a "GUI" applications that opens no windows and writes to
+# the log file "gctest.gc.log".
+       $(link) $(ldebug) $(guiflags) -out:$*.exe tests\test.obj $(guilibs) gc.lib
 
 cord\de_win.rbj: cord\de_win.res
        cvtres /MACHINE:$(MY_CPU) /OUT:cord\de_win.rbj cord\de_win.res
@@ -57,17 +55,16 @@ cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cor
 gc_cpp.obj: include\gc_cpp.h include\gc.h
 
 gc_cpp.cpp: gc_cpp.cc
-       copy gc_cpp.cc gc_cpp.cpp
+#      copy gc_cpp.cc gc_cpp.cpp
 
 test_cpp.cpp: tests\test_cpp.cc
        copy tests\test_cpp.cc test_cpp.cpp
 
 # This generates the C++ test executable.  The executable expects
 # a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
+# The output appears in the file "test_cpp.gc.log".
 test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
        $(link) $(ldebug) $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
 
 AO_SCR_DIR:
                tar xvfz $(AO_SRC_DIR).tar.gz;
-
index ee851a6c1f847c27e2365e11b05d28fffa05ed0e..eadd61638db69661ce80adf609be44984eb3e4dd 100644 (file)
@@ -27,7 +27,7 @@ AO_INCLUDE_DIR=$(AO_SRC_DIR)
 
 OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj win32_threads.obj extra\msvc_dbg.obj thread_local_alloc.obj
 
-all: gc64_dll.dll gctest.exe cord\de.exe test_cpp.exe
+all: gc64.dll gctest.exe cord\de.exe test_cpp.exe
 
 .c.obj:
        $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_DLL -DGC_THREADS -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj /wd4701
@@ -43,19 +43,17 @@ $(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h incl
 LINK64=link.exe
 LINK64_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib \
 shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo \
-/subsystem:windows /dll /incremental:no /pdb:"gc.pdb" /machine:X64 /out:"gc64_dll.dll" \
+/subsystem:windows /dll /incremental:no /pdb:"gc.pdb" /machine:X64 /out:"gc64.dll" \
 /implib:"gc64_dll.lib"
 
-gc64_dll.dll : $(OBJS)
+gc64.dll : $(OBJS)
        $(LINK64)  $(ldebug) $(LINK64_FLAGS) $(OBJS)
 
 
-
 gctest.exe: tests\test.obj gc64_dll.lib
-#  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This was done to make the result runnable under win32s and
-#  should be fixed.
-       $(link) $(ldebug) $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc64_dll.lib
+#  This produces a "GUI" applications that opens no windows and writes to
+# the log file "gctest.gc.log".
+       $(link) $(ldebug) $(guiflags) -out:$*.exe tests\test.obj $(guilibs) gc64_dll.lib
 
 cord\de_win.rbj: cord\de_win.res
        cvtres /MACHINE:$(MY_CPU) /OUT:cord\de_win.rbj cord\de_win.res
@@ -72,13 +70,13 @@ cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cor
 gc_cpp.obj: include\gc_cpp.h include\gc.h
 
 gc_cpp.cpp: gc_cpp.cc
-       copy gc_cpp.cc gc_cpp.cpp
+#      copy gc_cpp.cc gc_cpp.cpp
 
 test_cpp.cpp: tests\test_cpp.cc
        copy tests\test_cpp.cc test_cpp.cpp
 
 # This generates the C++ test executable.  The executable expects # a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
+# The output appears in the file "test_cpp.gc.log".
 test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc64_dll.lib
        $(link) $(ldebug) $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc64_dll.lib $(guilibs)
 
@@ -86,4 +84,4 @@ AO_SCR_DIR:
        tar xvfz $(AO_SRC_DIR).tar.gz;
 
 clean:
-       del *.obj gc64_dll.lib gc64_dll.dll
+       del *.obj gc64_dll.lib gc64.dll
index 47699e1fdbb1a27f021b07d499c27c819d047f0f..e93df255020da5ed04a7fd5e853d5194f5eb2985 100644 (file)
@@ -49,7 +49,7 @@ client code should include gc_cpp.h.
 For historical reasons,
 the collector test program "gctest" is linked as a GUI application,
 but does not open any windows.  Its output appears in the file
-"gc.log".  It may be started from the file manager.  The hour glass
+"gctest.gc.log".  It may be started from the file manager.  The hour glass
 cursor may appear as long as it's running.  If it is started from the
 command line, it will usually run in the background.  Wait a few
 minutes (a few seconds on a modern machine) before you check the output.
index b70b5ec30c175e21eb235c781ab8d11e254734fe..386358256961b0bc9ab9a56d3cefa13dd8fcb32f 100644 (file)
@@ -1360,7 +1360,6 @@ GC_INNER void GC_push_all_stacks(void)
 
 #endif
 
-#if defined(DYNAMIC_LOADING) || defined(CYGWIN32)
 /* Find stack with the lowest address which overlaps the        */
 /* interval [start, limit).                                     */
 /* Return stack bounds in *lo and *hi.  If no such stack        */
@@ -1463,7 +1462,6 @@ GC_INNER void GC_get_next_stack(char *start, char *limit,
   }
   *plast_stack_min = *lo;
 }
-#endif /* DYNAMIC_LOADING || CYGWIN32 */
 
 #ifdef PARALLEL_MARK