Wed Jul 4 17:46:19 CEST 2007 Paolo Molaro * darwin_stop_world.c: use a larger array for GC_mach_threads (it'll need to be enlarged dynamically, but it's with the world stopped, bug #81974). 2007-05-09 Jonathan Chambers * win32_threads.c: If SuspendThread fails, don't abort. Instead remove thread from GC, as this only seems to happen when thread is terminating. 2007-03-29 Zoltan Varga * autogen.sh: Applied patch from Priit Laes . Fix the running of libtoolize. * ltmain.sh config.sub config.guess: Removed, libtoolize creates them now. 2007-03-13 Jonathan Chambers * include/gc.h: Fix _WIN64 typedefs. * libgc.vcproj: Fix Release target and begin Win64 port. 2007-02-01 Geoff Norton * include/private/gc_pthread_redirects.h: * include/private/gc_config_macros.h: * include/private/gc_priv.h: * configure.in: * pthread_support.c * specific.c: Support for NetBSD-CURRENT. Loosely based on NetBSD pkgsrc patch. 2006-12-22 Robert Jordan * include/private/gcconfig.h, os_dep.c: Add FreeBSD/amd64 support. Based on a FreeBSD Port Collection patch. r=Paolo. 2006-11-19 Allan Hsu * libgc/darwin_stop_world.c, libgc/include/private/gc_priv.h, libgc/os_dep.c: Fixes to make the GC work on OSX/Intel with XCode 2.4 (10.4u SDK and newer). This code should work with older versions of the SDK as well. Tue Oct 10 16:58:37 CEST 2006 Paolo Molaro * darwin_stop_world.c: patch from Allan Hsu to avoid using memory just after freeing it. 2006-08-31 Zoltan Varga * libgc.vcproj: Define GC_INSIDE_DLL on VC build too. 2006-08-18 Zoltan Varga * Makefile.am (EXTRA_DIST): Fix make dist. * libtool.m4: Removed, should not be in SVN. 2006-07-19 Zoltan Varga * configure.in: Applied patch from Sergey Tikhonov . Beginning of alpha support. 2006-06-28 Martin Baulig * darwin_stop_world.c, pthread_support.c: Committing a patch from Allan Hsu to fix memory leaks; see bug #78628. 2006-06-26 Zoltan Varga * solaris_threads.c: And another one. * solaris_pthreads.c: Avoid another solaris/x86 #error. 2006-04-08 Zoltan Varga * dyn_load.c: Avoid #error "large files are not supported by libelf" errors on solaris/x86. 2006-05-24 Martin Baulig * doc/debugger-support.txt: Removed; this issue turned out to be something completely different and the patch mentioned in this file is already reverted. 2006-05-23 Zoltan Varga * os_dep.c (GC_unix_get_mem): Add an assert to bail out early if the runtime is run on a machine with smaller page size than HBLKSIZE. 2006-05-19 Martin Baulig * include/gc.h: Don't include "libgc-mono-debugger.h". * pthread_support.c, pthread_stop_world.c: Include it here. 2006-05-17 Martin Baulig * pthread-support.c, pthread-stop-world.c: Put the debugger stuff inside a `#if LIBGC_MONO_DEBUGGER_SUPPORTED' conditional. 2006-05-17 Martin Baulig Fix a weird race condition which prevented XSP from working inside the debugger - see doc/debugger-issues.txt for details. * include/gc.h: Moved the "libgc-mono-debugger.h" #include down after the gc_pthread_redirects.h one. * include/libgc-mono-debugger.h (GCThreadFunctions): Added `thread_created' and `thread_exited'. (GC_mono_debugger_add_all_threads): New function prototype. * pthread_stop_world.c (gc_thread_vtable): Allow the vtable and any function in it be NULL; use NULL as the default vtable. (GC_mono_debugger_add_all_threads): New public function. * pthread_support.c (GC_delete_thread): Call `gc_thread_vtable->thread_exited()'. (GC_thr_init): Call `gc_thread_vtable->thread_created()'. 2006-04-05 Zoltan Varga * include/private/gcconfig.h (LINUX and SPARC): Applied patch from David S. Miller : Do not use _etest and GC_SysVGetDataStart() to figure out DATASTART. Instead use either SEARCH_FOR_DATA_START or __environ, based upon GLIBC version. 2006-03-25 Zoltan Varga * configure.in: Applied patch from David S. Miller : Fix support for sparc/linux. Mon Mar 20 18:56:21 CET 2006 Paolo Molaro * include/gc.h: enable pthread redirection on darwin, too. * include/gc_pthread_redirects.h: completed from Bryan Berg. Thu Feb 9 16:20:55 CET 2006 Paolo Molaro * os_dep.c, include/private/gcconfig.h, darwin_stop_world.c: OSX/x86 support, mostly from Geoff Norton . Wed Feb 1 18:23:55 CET 2006 Paolo Molaro * pthread_support.c, *: back out Zoltan's patch since it's incorrect. The correct fix it to execute the cleanup from inside the thread also when using the __thread var to access the current GC_thread. 2006-02-01 Zoltan Varga * pthread_support.c (GC_thread_deregister_foreign): New public API function to deregister a foreign thread from the GC. (GC_destroy_thread_local): Clean up the TLS key too. Tue Jan 24 12:34:06 CET 2006 Paolo Molaro * *: update from upstream changes. 2006-01-21 Martin Baulig * include/Makefile.am: Don't install libgc-mono-debugger.h. 2006-01-21 Martin Baulig * include/libgc-mono-debugger.h: Call the conditional `_IN_THE_MONO_DEBUGGER', not `IN_MONO_DEBUGGER'. 2006-01-11 Zoltan Varga * include/private/gcconfig.h: Undef _FILE_OFFSET_BITS on sparc. 2006-01-03 Geoff Norton * darwin_stop_world.c: Merge a patch from Bruce Mitchener that fixes a small leak on OS X. 2005-12-26 Zoltan Varga * include/private/gcconfig.h: Disable PROC_VDB on solaris/x86 as it doesn't seem to work. 2005-12-06 Todd Berman * pthread_support.c (GC_thread_register_foreign): Wrap a GC_printf1 inside a #ifdef DEBUG_THREADS like the others. Based on a patch from Bryan Berg (bryan AT imeem DOT com). 2005-10-11 Zoltan Varga * pthread_support.c (GC_thread_deregister_foreign): Make this return void instead of void*. 2005-09-29 Raja R Harinath * configure.host: Fix syntax error. 2005-08-24 Zoltan Varga * win32_threads.c: If GC_INSIDE_DLL is defined, define the DllMain function for automatic registration of threads with the GC. * configure.in: Add an option for turning GC_INSIDE_DLL on. 2005-08-25 Zoltan Varga * solaris_threads.c (GC_thread_register_foreign): Add dummy implementation. Mon Aug 22 10:41:41 BST 2005 Paolo Molaro * include/private/gc_locks.h: make gcc generate correct code for swp (patch by tomba@bat.org, Tomi Valkeinen). 2005-08-20 Zoltan Varga * include/private/gc_locks.h: Fix compilation of GC_test_and_set on IA64 with gcc-3.3.5. Thu Aug 18 18:08:54 CEST 2005 Paolo Molaro * include/private/gcconfig.h: use LINUX_STACKBOTTOM on ARM Linux. Mon Aug 1 16:49:45 CEST 2005 Paolo Molaro * include/private/pthread_support.h, pthread_support.c: added patch to support registering new threads at runtime (from Michael Meeks ). 2005-07-07 Raja R Harinath * Makefile.am (INCLUDES): Add $(top_builddir)/.. to pick up mono's config.h. Thu Jul 7 12:15:22 CEST 2005 Paolo Molaro * pthread_support.c: fix compilation when TLS_ALLOC is not defined. Thu Jul 7 11:59:42 CEST 2005 Paolo Molaro * pthread_support.c, Makefile.am: make the __thread var use fast access if available (and avoid dlopen issue, bug #75390). 2005-07-05 Ben Maurer * pthread_stop_world.c (pthread_start_world, _GC_suspend_handler): Make sure that all threads have been started before releasing the GC_lock. Otherwise, the thread table can be corrupt in the restart handler, causing deadlocks and segfaults. 2005-06-22 Zoltan Varga * include/private/gcconfig.h: Fix amd64 build. 2005-06-21 Ben Maurer * configure.host: remove -fexceptions, messes up with nptl includes, as on fc4. 2005-06-17 Zoltan Varga * pthread_support.c: Workaround gcc-3.3 compiler bug. 2005-05-26 Sebastien Pouliot * libgc.vcproj: Project file for libgc. 2005-05-19 Zoltan Varga * configure.in: Handle i386-*-linux* as well. Fixes #74960. Tue May 3 16:28:26 CEST 2005 Paolo Molaro * os_dep.c: remove usage of libc private symbol. 2005-05-02 Miguel de Icaza * pthread_stop_world.c (GC_restart_handler, GC_suspend_handler): Wrap the original routines into methods that preserve the value of errno. Fixes #74740 2005-04-18 Zoltan Varga * configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com). 2005-04-15 Zoltan Varga * configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com). 2005-04-11 Zoltan Varga * include/private/gcconfig.h configure.in os_dep.c dyn_load.c: Applied some freebsd patch from Bill Middleton . 2005-04-06 Zoltan Varga * solaris_pthreads.c (GC_pthread_detach): Add locking. * include/gc_pthread_redirects.h (pthread_detach): Override pthread_detach too. * solaris_pthreads.c (GC_pthread_detach): Override pthread_detach too. Fixes #74223. 2005-03-29 Zoltan Varga * os_dep.c: Add ability to fall back to mmap-ing memory when sbrk fails. * include/private/gcconfig.h: Enable FALLBACK_TO_MMAP on amd64. Fixes #73882. * config.guess config.sub ltmain.sh: Update these files with more up-to-date versions. Fixes #74071. 2005-03-09 Zoltan Varga * solaris_threads.c (GC_thread_is_registered): Add this for solaris too. * pthread_support.c (GC_thread_is_registered): Move this outside of the #ifdef THREAD_LOCAL_ALLOC. 2005-03-03 Zoltan Varga * include/gc.h pthread_support.c win32_threads.: Add GC_thread_is_registered API function. 2005-02-17 Raja R Harinath * acinclude.m4: Don't include distributed libtool.m4. Wed Feb 16 22:30:54 CET 2005 Paolo Molaro * alloc.c: tune the code to collect instead of expanding the heap if there are many finalizers and we reclaimed some memory from cleaning the finalization queue (should fix bug #71001 and #70701). 2005-02-07 Geoff Norton * include/private/gc_priv.h: Bump the max root sets to 1024 Mon Jan 24 16:39:42 CET 2005 Paolo Molaro * alloc.c, include/gc.h: add event notification, mostly from a patch by Ben Maurer. 2005-01-23 Geoff Norton * os_dir.c: Change GC_task_self to be static everywhere on Darwin. Allows gcc4.0 to compile. Tue Jan 18 11:19:47 CET 2005 Paolo Molaro * pthread_stop_world.c: handle EINTR from sem_wait() call. 2004-08-20 Ben Maurer * include/private/gc_priv.h: use the test glib does for EXPECT. 2004-08-20 Zoltan Varga * include/private/gc_priv.h (__GNUC_PREREQ): Fix typo spotted by Ben. * include/gc_local_alloc.h pthread_support.c: Add GC_local_gcj_fast_malloc. * include/private/gc_priv.h (EXPECT): Enable this on modern versions of gcc. 2004-08-17 Ben Maurer * pthread_support.c: make __thread variable static * include/gc_local_alloc.c: make the other headers get included before we define our own variable. This fixes up an ordering problem with GCJ and thread local alloc. The problem was that gc.h needed to include gc_local_alloc.h before gc_gcj.h. However, when gc.h was included after GC_LOCAL_ALLOC_H was #defined, it would not include gc_local_alloc.h. 2004-08-16 Zoltan Varga * Makefile.am: Create a static version of libmonogc for inclusion into the mono executable. 2004-07-27 John Merryweather Cooper * configure.in: Fix to properly select flags for pthreads on FreeBSD 4.x (aka -STABLE) and 5.x (aka -CURRENT). 2004-07-01 Zoltan Varga * include/install-sh doc/install-sh: New files. 2004-06-30 Zoltan Varga * include/private/gc_priv.h (SMALL_OBJ): Add Hans' fix for crashes seen on SPARC64. Thu Jun 24 15:39:00 CEST 2004 Paolo Molaro * alloc.c: use Hans' fix for bug #59557. 2004-06-18 Dick Porter * darwin_stop_world.c: Make the world actually stop. This seems to fix the finalizer thread signalling deadlock in 58706. Sat Jun 5 19:38:20 CEST 2004 Paolo Molaro * alloc.c: temporary fix for bug #59557. Tue May 25 13:41:08 EDT 2004 Paolo Molaro * darwin_stop_world.c: more thread died races fixes. 2004-05-21 Martin Baulig * pthread_stop_world.c: Merged the changes from linux_threads.c. * linux_threads.c: Removed, this file no longer exists in the latest upstream version. 2004-05-20 Martin Baulig * libgc.patch: Removed. There's no need to have this in a separate file, just use CVS. 2004-05-20 Jackson Harper * Makefile.am: Remove tests from EXTRA_DIST. Wed May 19 18:57:30 CEST 2004 Paolo Molaro * darwin_stop_world.c: deal with threads that die before they can be suspended (should solce the thread_info failed aborts). Wed May 19 18:42:23 CEST 2004 Paolo Molaro * configure.in, Makefile.am: update correctly from the libgc sources: this excludes linux_threads.c from the build: Martin will have to port his changes to the new code, since linux_threads.c doesn't exist anymore in the upstream sources. 2004-05-19 Raja R Harinath * configure.in ($enable_embed_check): New internal option that will be passed by mono's configure. (THREADS): Use $with_libgc_threads, which is passed by mono's configure. 2004-05-18 Martin Baulig Importing Boehm GC 6.3 alpha 6. 2004-03-24 Ben Maurer * gcj_mlc.c: Do finalization. This is a patch from Hans Boehm that fixes a bug where GC_gcj_malloc never does finalization. See: http://www.hpl.hp.com/hosted/linux/mail-archives/gc/2004-March/000359.html http://bugzilla.ximian.com/show_bug.cgi?id=55644 Fixes #55644. I am checking this in at Zoltan's request. 2003-11-07 Zoltan Varga * autogen.sh: Fix previous patch and silence noisy GNU which. * autogen.sh: Applied patch from Peter Teichman (peter@ximian.com). Use 'glibtool' instead of 'libtool' on OSX. 2003-10-01 Pedro Martínez Juliá * Makefile.am: Change lib_LTLIBRARIES to noinst_LTLIBRARIES because of libmonogc is included inside libmono and without this change it breaks down and not include it. 2003-09-26 Zoltan Varga * mips_sgi_mach_dep.S: Remove since it is a duplicate of .s and it breaks cvs checkout under windows. Wed Sep 17 17:29:11 CEST 2003 Paolo Molaro * configure.in: disable ALL_INTERIOR_POINTERS: managed pointers are not allowed in the heap, so this should be safe and it helps reducing false positives. 2003-08-28 Dick Porter * pthread_support.c: * aix_irix_threads.c: Applied bug fix from alpha libgc 2003-08-26 Martin Baulig Imported Boehm GC 6.2. 2003-06-20 Martin Baulig * include/gc.h: Fixed compiler warnings. 2003-06-09 Martin Baulig * include/libgc-mono-debugger.h: New header file. This is installed as , but it's a private header files and may only be used by the Mono Debugger. * Makefile.am: Build libmonogc.la and install it. For some reason, using a libtool convenience archive doesn't work here. 2003-06-08 Martin Baulig * libgc-mono.pc.in: Removed. * Makefile.am: Don't install anything. * configure.in: We're now embedded in mono and can't be built as a stand-alone module any longer. 2003-05-17 Martin Baulig * libgc.patch, libgc.log: Added patch against the original version and a ChangeLog entry. 2003-05-17 Martin Baulig * misc.c, os_dep.c, include/private/gc_priv.h: Back to the original version. * linux_threads.c: Use the `gc_thread_vtable' internally in this file instead of calling it from the header files. 2003-05-16 Martin Baulig * include/gc.h (GCThreadFunctions): Removed the `pthread_*' function since we don't need them here. * include/gc_pthread_redirects.h: Put back the original version. 2003-04-08 Alp Toker * configure.in: fix automake 1.6 compatibility without breaking previous versions (AM_PROG_AS) 2003-03-31 Martin Baulig * include/gc.h (GCThreadFunctions): New type. (gc_thread_vtable): New global variable. * include/gc_pthread_redirects.h: Use the `gc_thread_vtable' vtable for the redirects instead of calling the methods directly. This allows us to override them at runtime. 2003-03-31 Martin Baulig * include/Makefile.am: Install gc_pthread_redirects.h. * include/gc.h: `#include ', not `#include "gc_pthread_redirects.h"'. 2003-03-31 Martin Baulig * configure.in: Call the package `libgc-mono'. * libgc-mono.pc.in: Added pkg-config files. 2003-03-31 Martin Baulig This is a modified version of Boehm GC 6.1.