2008-09-29  Geoff Norton  <gnorton@novell.com>

	* include/private/gcconfig.h: Make Darwin/ARM use mmap() instead of
	sbrk() for its allocator implementation.

2008-08-28  Geoff Norton  <gnorton@novell.com>

	* darwin_stop_world.c:
	* include/private/gcconfig.h: Add support for Darwin/ARM

2008-08-12  Geoff Norton  <gnorton@novell.com>

	* pthread_support.c: GCC shipped with SLES9 ppc gets confused with our current
	GC_setspecific define.  Unfold the define into a static inline on all platforms
	except ppc where it is a static leaf function.

2008-08-03  Zoltan Varga  <vargaz@gmail.com>

	* pthread_support.c (GC_thread_exit_proc): Null out the tls key to prevent the
	dtor function from being callled, since that would read freed memory.

2008-05-23  Massimiliano Mantione  <massi@ximian.com>
	* alloc.c: Moved emitting "GC_EVENT_START" and "GC_EVENT_END" events
	from "GC_maybe_gc" to "GC_try_to_collect_inner".

2008-05-19  Zoltan Varga  <vargaz@gmail.com>

	* configure.in: Add two variables for passing CPPFLAGS/CFLAGS from the parent
	configure.

2008-04-28  Kornél Pál  <kornelpal@gmail.com>

	* include/gc.h: Add GC_DllMain.
	* win32_threads.c: Rename DllMain to GC_DllMain.

	Contributed under MIT/X11 license.

2008-04-15  Jonathan Chambers  <joncham@gmail.com>
	* include/private/gcconfig.h: Backport GC7 code to support Win64.
	* win32_threads.c: Backport GC7 code to support Win64.

2008-02-07  Massimiliano Mantione  <massi@ximian.com>
	* include/gc.h: (GCEventType): Added start-stop the world events.
	* pthread_stop_world.c: (GC_stop_world and GC_start_world): hooked
	start-stop the world events.

2007-11-05  Geoff Norton  <gnorton@novell.com>

	* darwin_stop_world.c: Correct the structure name on Darwin-x86 for Leopard.

2007-11-05  Geoff Norton  <gnorton@novell.com>

	* darwin_stop_world.c: Also push ebp when pushing all stacks on Leopard
	and pre-Leopard.

2007-11-01  Geoff Norton  <gnorton@novell.com>

	* darwin_stop_world.c:  Handle Leopards renaming of some structure
	members.

Mon Sep 24 16:15:47 CEST 2007 Paolo Molaro <lupus@ximian.com>

	* include/private/gc_priv.h: increase the default MAX_HEAP_SECTS
	value (bug#314759, bug#324318).

Tue Sep 11 16:22:28 CEST 2007 Paolo Molaro <lupus@ximian.com>

	* pthread_support.c: export GC_thread_tls.

2007-08-22  Martin Baulig  <martin@ximian.com>

	* pthread_stop_world.c
	(GC_mono_debugger_add_all_threads): Removed.
	(GC_mono_debugger_get_stack_ptr): New public function.

Wed Jul 4 17:46:19 CEST 2007 Paolo Molaro <lupus@ximian.com>

	* 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  <joncham@gmail.com>

	* 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  <vargaz@gmail.com>

	* autogen.sh: Applied patch from Priit Laes <amd@store20.com>. Fix the running
	of libtoolize.

	* ltmain.sh config.sub config.guess: Removed, libtoolize creates them now.

2007-03-13  Jonathan Chambers  <joncham@gmail.com>

	* include/gc.h: Fix _WIN64 typedefs.
	* libgc.vcproj: Fix Release target and begin Win64 port.
	
2007-02-01  Geoff Norton  <gnorton@customerdna.com>

	* 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  <robertj@gmx.net>

	* 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 <allan@counterpop.net>

	* 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 <lupus@ximian.com>

	* darwin_stop_world.c: patch from Allan Hsu <allan@counterpop.net>
	to avoid using memory just after freeing it.

2006-08-31  Zoltan Varga  <vargaz@freemail.hu>

	* libgc.vcproj: Define GC_INSIDE_DLL on VC build too.

2006-08-18  Zoltan Varga  <vargaz@gmail.com>

	* Makefile.am (EXTRA_DIST): Fix make dist.

	* libtool.m4: Removed, should not be in SVN.

2006-07-19  Zoltan Varga  <vargaz@gmail.com>

	* configure.in: Applied patch from Sergey Tikhonov <tsv@solvo.ru>. Beginning
	of alpha support.

2006-06-28  Martin Baulig  <martin@ximian.com>

	* darwin_stop_world.c, pthread_support.c: Committing a patch from
	Allan Hsu <allan@imeem.com> to fix memory leaks; see bug #78628.

2006-06-26  Zoltan Varga  <vargaz@gmail.com>

	* solaris_threads.c: And another one.

	* solaris_pthreads.c: Avoid another solaris/x86 #error.

2006-04-08  Zoltan Varga  <vargaz@gmail.com>

	* dyn_load.c: Avoid #error "large files are not supported by libelf" errors on solaris/x86.

2006-05-24  Martin Baulig  <martin@ximian.com>

	* 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  <vargaz@gmail.com>

	* 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  <martin@ximian.com>

	* 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  <martin@ximian.com>

	* pthread-support.c, pthread-stop-world.c: Put the debugger stuff
	inside a `#if LIBGC_MONO_DEBUGGER_SUPPORTED' conditional.

2006-05-17  Martin Baulig  <martin@ximian.com>

	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  <vargaz@gmail.com>

	* include/private/gcconfig.h (LINUX and SPARC): Applied patch from 
	David S. Miller <davem@davemloft.net>: 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  <vargaz@gmail.com>

	* configure.in: Applied patch from David S. Miller <davem@davemloft.net>: Fix support for sparc/linux.

Mon Mar 20 18:56:21 CET 2006 Paolo Molaro <lupus@ximian.com>

	* 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 <lupus@ximian.com>

	* os_dep.c, include/private/gcconfig.h, darwin_stop_world.c:
	OSX/x86 support, mostly from Geoff Norton <gnorton@customerdna.com>.

Wed Feb 1 18:23:55 CET 2006 Paolo Molaro <lupus@ximian.com>

	* 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  <vargaz@gmail.com>

	* 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 <lupus@ximian.com>

	* *: update from upstream changes.

2006-01-21  Martin Baulig  <martin@ximian.com>

	* include/Makefile.am: Don't install libgc-mono-debugger.h.

2006-01-21  Martin Baulig  <martin@ximian.com>

	* include/libgc-mono-debugger.h: Call the conditional
	`_IN_THE_MONO_DEBUGGER', not `IN_MONO_DEBUGGER'.

2006-01-11  Zoltan Varga  <vargaz@gmail.com>

	* include/private/gcconfig.h: Undef _FILE_OFFSET_BITS on sparc.

2006-01-03  Geoff Norton  <gnorton@customerdna.com>

	* darwin_stop_world.c:  Merge a patch from Bruce Mitchener that fixes a small
	leak on OS X.

2005-12-26  Zoltan Varga  <vargaz@gmail.com>

	* include/private/gcconfig.h: Disable PROC_VDB on solaris/x86 as it
	doesn't seem to work.

2005-12-06  Todd Berman  <tberman@off.net>

	* 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  <vargaz@gmail.com>

	* pthread_support.c (GC_thread_deregister_foreign): Make this return
	void instead of void*.

2005-09-29  Raja R Harinath  <harinath@gmail.com>

	* configure.host: Fix syntax error.

2005-08-24  Zoltan Varga  <vargaz@gmail.com>

	* 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  <vargaz@freemail.hu>

	* solaris_threads.c (GC_thread_register_foreign): Add dummy implementation.

Mon Aug 22 10:41:41 BST 2005 Paolo Molaro <lupus@ximian.com>

	* include/private/gc_locks.h: make gcc generate correct code for swp
	(patch by tomba@bat.org, Tomi Valkeinen).

2005-08-20  Zoltan Varga  <vargaz@freemail.hu>

	* 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 <lupus@ximian.com>

	* include/private/gcconfig.h: use LINUX_STACKBOTTOM on ARM Linux.

Mon Aug 1 16:49:45 CEST 2005 Paolo Molaro <lupus@ximian.com>

	* include/private/pthread_support.h, pthread_support.c: added
	patch to support registering new threads at runtime (from
	Michael Meeks <michael.meeks@novell.com>).

2005-07-07  Raja R Harinath  <rharinath@novell.com>

	* Makefile.am (INCLUDES): Add $(top_builddir)/.. to pick up mono's
	config.h.

Thu Jul 7 12:15:22 CEST 2005 Paolo Molaro <lupus@ximian.com>

	* pthread_support.c: fix compilation when TLS_ALLOC is not defined.

Thu Jul 7 11:59:42 CEST 2005 Paolo Molaro <lupus@ximian.com>

	* 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  <bmaurer@ximian.com>

	* 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  <vargaz@freemail.hu>

	* include/private/gcconfig.h: Fix amd64 build.

2005-06-21  Ben Maurer  <bmaurer@ximian.com>

	* configure.host: remove -fexceptions, messes up with nptl
	includes, as on fc4.

2005-06-17  Zoltan Varga  <vargaz@freemail.hu>

	* pthread_support.c: Workaround gcc-3.3 compiler bug.

2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>

	* libgc.vcproj: Project file for libgc.

2005-05-19  Zoltan Varga  <vargaz@freemail.hu>

	* configure.in: Handle i386-*-linux* as well. Fixes #74960.	

Tue May 3 16:28:26 CEST 2005 Paolo Molaro <lupus@ximian.com>

	* os_dep.c: remove usage of libc private symbol.

2005-05-02  Miguel de Icaza  <miguel@novell.com>

	* 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  <vargaz@freemail.hu>

	* configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com).

2005-04-15  Zoltan Varga  <vargaz@freemail.hu>

	* configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com).

2005-04-11  Zoltan Varga  <vargaz@freemail.hu>

	* include/private/gcconfig.h configure.in os_dep.c dyn_load.c: 
	Applied some freebsd patch from Bill Middleton <flashdict@gmail.com>.

2005-04-06  Zoltan Varga  <vargaz@freemail.hu>

	* 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  <vargaz@freemail.hu>

	* 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  <vargaz@freemail.hu>

	* 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  <vargaz@freemail.hu>

	* include/gc.h pthread_support.c win32_threads.: Add 
	GC_thread_is_registered API function.

2005-02-17  Raja R Harinath  <rharinath@novell.com>

	* acinclude.m4: Don't include distributed libtool.m4.
	
Wed Feb 16 22:30:54 CET 2005 Paolo Molaro <lupus@ximian.com>

	* 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  <gnorton@customerdna.com>

	* include/private/gc_priv.h: Bump the max root sets to 1024

Mon Jan 24 16:39:42 CET 2005 Paolo Molaro <lupus@ximian.com>

	* alloc.c, include/gc.h: add event notification, mostly from 
	a patch by Ben Maurer.

2005-01-23  Geoff Norton  <gnorton@customerdna.com>
	
	* 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 <lupus@ximian.com>

	* pthread_stop_world.c: handle EINTR from sem_wait() call.

2004-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* include/private/gc_priv.h: use the test glib does
	for EXPECT.

2004-08-20  Zoltan Varga  <vargaz@freemail.hu>

	* 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  <bmaurer@users.sourceforge.net>

	* 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  <vargaz@freemail.hu>

	* Makefile.am: Create a static version of libmonogc for inclusion into
	the mono executable.

2004-07-27  John Merryweather Cooper <john_m_cooper@yahoo.com>

	* 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  <vargaz@freemail.hu>

	* include/install-sh doc/install-sh: New files.

2004-06-30  Zoltan Varga  <vargaz@freemail.hu>

	* 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 <lupus@ximian.com>

	* alloc.c: use Hans' fix for bug #59557.

2004-06-18  Dick Porter  <dick@ximian.com>

	* 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 <lupus@ximian.com>

	* alloc.c: temporary fix for bug #59557.

Tue May 25 13:41:08 EDT 2004 Paolo Molaro <lupus@ximian.com>

	* darwin_stop_world.c: more thread died races fixes.

2004-05-21  Martin Baulig  <martin@ximian.com>

	* 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  <martin@ximian.com>

	* libgc.patch: Removed.  There's no need to have this in a
	separate file, just use CVS.

2004-05-20  Jackson Harper  <jackson@ximian.com>

	* Makefile.am: Remove tests from EXTRA_DIST.
	
Wed May 19 18:57:30 CEST 2004 Paolo Molaro <lupus@ximian.com>

	* 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 <lupus@ximian.com>

	* 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  <rharinath@novell.com>

	* 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  <martin@ximian.com>

	Importing Boehm GC 6.3 alpha 6.

2004-03-24 Ben Maurer  <bmaurer@users.sourceforge.net>

	* 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  <vargaz@freemail.hu>

	* 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á  <yoro@wanadoo.es>

	* 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  <vargaz@freemail.hu>

	* 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 <lupus@ximian.com>

	* 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  <dick@ximian.com>

	* pthread_support.c:
	* aix_irix_threads.c:  Applied bug fix from alpha libgc

2003-08-26  Martin Baulig  <martin@ximian.com>

	Imported Boehm GC 6.2.

2003-06-20  Martin Baulig  <martin@ximian.com>

	* include/gc.h: Fixed compiler warnings.

2003-06-09  Martin Baulig  <martin@ximian.com>

	* include/libgc-mono-debugger.h: New header file.  This is
	installed as <mono/private/libgc-mono-debugger.h>, 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  <martin@ximian.com>

	* 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  <martin@ximian.com>

	* libgc.patch, libgc.log: Added patch against the original version
	and a ChangeLog entry.

2003-05-17  Martin Baulig  <martin@ximian.com>

	* 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  <martin@ximian.com>

	* 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 <alp@atoker.com>

	* configure.in: fix automake 1.6 compatibility without breaking
	previous versions (AM_PROG_AS)

2003-03-31  Martin Baulig  <martin@ximian.com>

	* 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  <martin@ximian.com>

	* include/Makefile.am: Install gc_pthread_redirects.h.

	* include/gc.h: `#include <gc/gc_pthread_redirects.h>', not
	`#include "gc_pthread_redirects.h"'.

2003-03-31  Martin Baulig  <martin@ximian.com>

	* configure.in: Call the package `libgc-mono'.

	* libgc-mono.pc.in: Added pkg-config files.

2003-03-31  Martin Baulig  <martin@ximian.com>

	This is a modified version of Boehm GC 6.1.

