2007-02-01 Geoff Norton <gnorton@customerdna.com>
[mono.git] / libgc / ChangeLog
1 2007-02-01  Geoff Norton  <gnorton@customerdna.com>
2
3         * include/private/gc_pthread_redirects.h:
4         * include/private/gc_config_macros.h:
5         * include/private/gc_priv.h:
6         * configure.in:
7         * pthread_support.c
8         * specific.c:  Support for NetBSD-CURRENT.  Loosely based on NetBSD
9         pkgsrc patch.
10
11 2006-12-22  Robert Jordan  <robertj@gmx.net>
12
13         * include/private/gcconfig.h, os_dep.c:
14         Add FreeBSD/amd64 support. Based on a FreeBSD Port Collection patch.
15         r=Paolo.
16
17 2006-11-19  Allan Hsu <allan@counterpop.net>
18
19         * libgc/darwin_stop_world.c, libgc/include/private/gc_priv.h,
20         libgc/os_dep.c: Fixes to make the GC work on OSX/Intel with XCode
21         2.4 (10.4u SDK and newer).
22
23         This code should work with older versions of the SDK as well. 
24
25 Tue Oct 10 16:58:37 CEST 2006 Paolo Molaro <lupus@ximian.com>
26
27         * darwin_stop_world.c: patch from Allan Hsu <allan@counterpop.net>
28         to avoid using memory just after freeing it.
29
30 2006-08-31  Zoltan Varga  <vargaz@freemail.hu>
31
32         * libgc.vcproj: Define GC_INSIDE_DLL on VC build too.
33
34 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
35
36         * Makefile.am (EXTRA_DIST): Fix make dist.
37
38         * libtool.m4: Removed, should not be in SVN.
39
40 2006-07-19  Zoltan Varga  <vargaz@gmail.com>
41
42         * configure.in: Applied patch from Sergey Tikhonov <tsv@solvo.ru>. Beginning
43         of alpha support.
44
45 2006-06-28  Martin Baulig  <martin@ximian.com>
46
47         * darwin_stop_world.c, pthread_support.c: Committing a patch from
48         Allan Hsu <allan@imeem.com> to fix memory leaks; see bug #78628.
49
50 2006-06-26  Zoltan Varga  <vargaz@gmail.com>
51
52         * solaris_threads.c: And another one.
53
54         * solaris_pthreads.c: Avoid another solaris/x86 #error.
55
56 2006-04-08  Zoltan Varga  <vargaz@gmail.com>
57
58         * dyn_load.c: Avoid #error "large files are not supported by libelf" errors on solaris/x86.
59
60 2006-05-24  Martin Baulig  <martin@ximian.com>
61
62         * doc/debugger-support.txt: Removed; this issue turned out to be
63         something completely different and the patch mentioned in this
64         file is already reverted.
65
66 2006-05-23  Zoltan Varga  <vargaz@gmail.com>
67
68         * os_dep.c (GC_unix_get_mem): Add an assert to bail out early if the runtime is
69         run on a machine with smaller page size than HBLKSIZE.
70
71 2006-05-19  Martin Baulig  <martin@ximian.com>
72
73         * include/gc.h: Don't include "libgc-mono-debugger.h".
74
75         * pthread_support.c, pthread_stop_world.c: Include it here.
76
77 2006-05-17  Martin Baulig  <martin@ximian.com>
78
79         * pthread-support.c, pthread-stop-world.c: Put the debugger stuff
80         inside a `#if LIBGC_MONO_DEBUGGER_SUPPORTED' conditional.
81
82 2006-05-17  Martin Baulig  <martin@ximian.com>
83
84         Fix a weird race condition which prevented XSP from working inside
85         the debugger - see doc/debugger-issues.txt for details.
86
87         * include/gc.h: Moved the "libgc-mono-debugger.h" #include down
88         after the gc_pthread_redirects.h one.
89
90         * include/libgc-mono-debugger.h
91         (GCThreadFunctions): Added `thread_created' and `thread_exited'.
92         (GC_mono_debugger_add_all_threads): New function prototype.
93
94         * pthread_stop_world.c (gc_thread_vtable): Allow the vtable and
95         any function in it be NULL; use NULL as the default vtable.
96         (GC_mono_debugger_add_all_threads): New public function.
97
98         * pthread_support.c
99         (GC_delete_thread): Call `gc_thread_vtable->thread_exited()'.
100         (GC_thr_init): Call `gc_thread_vtable->thread_created()'.
101
102 2006-04-05  Zoltan Varga  <vargaz@gmail.com>
103
104         * include/private/gcconfig.h (LINUX and SPARC): Applied patch from 
105         David S. Miller <davem@davemloft.net>: Do not
106        use _etest and GC_SysVGetDataStart() to figure out DATASTART.
107        Instead use either SEARCH_FOR_DATA_START or __environ, based
108        upon GLIBC version.
109
110 2006-03-25  Zoltan Varga  <vargaz@gmail.com>
111
112         * configure.in: Applied patch from David S. Miller <davem@davemloft.net>: Fix support for sparc/linux.
113
114 Mon Mar 20 18:56:21 CET 2006 Paolo Molaro <lupus@ximian.com>
115
116         * include/gc.h: enable pthread redirection on darwin, too.
117         * include/gc_pthread_redirects.h: completed from Bryan Berg.
118
119 Thu Feb 9 16:20:55 CET 2006 Paolo Molaro <lupus@ximian.com>
120
121         * os_dep.c, include/private/gcconfig.h, darwin_stop_world.c:
122         OSX/x86 support, mostly from Geoff Norton <gnorton@customerdna.com>.
123
124 Wed Feb 1 18:23:55 CET 2006 Paolo Molaro <lupus@ximian.com>
125
126         * pthread_support.c, *: back out Zoltan's patch since it's
127         incorrect.
128         The correct fix it to execute the cleanup from inside
129         the thread also when using the __thread var to access the
130         current GC_thread.
131
132 2006-02-01  Zoltan Varga  <vargaz@gmail.com>
133
134         * pthread_support.c (GC_thread_deregister_foreign): New public API
135         function to deregister a foreign thread from the GC.
136         (GC_destroy_thread_local): Clean up the TLS key too.
137         
138 Tue Jan 24 12:34:06 CET 2006 Paolo Molaro <lupus@ximian.com>
139
140         * *: update from upstream changes.
141
142 2006-01-21  Martin Baulig  <martin@ximian.com>
143
144         * include/Makefile.am: Don't install libgc-mono-debugger.h.
145
146 2006-01-21  Martin Baulig  <martin@ximian.com>
147
148         * include/libgc-mono-debugger.h: Call the conditional
149         `_IN_THE_MONO_DEBUGGER', not `IN_MONO_DEBUGGER'.
150
151 2006-01-11  Zoltan Varga  <vargaz@gmail.com>
152
153         * include/private/gcconfig.h: Undef _FILE_OFFSET_BITS on sparc.
154
155 2006-01-03  Geoff Norton  <gnorton@customerdna.com>
156
157         * darwin_stop_world.c:  Merge a patch from Bruce Mitchener that fixes a small
158         leak on OS X.
159
160 2005-12-26  Zoltan Varga  <vargaz@gmail.com>
161
162         * include/private/gcconfig.h: Disable PROC_VDB on solaris/x86 as it
163         doesn't seem to work.
164
165 2005-12-06  Todd Berman  <tberman@off.net>
166
167         * pthread_support.c (GC_thread_register_foreign): Wrap a GC_printf1
168         inside a #ifdef DEBUG_THREADS like the others. Based on a patch from
169         Bryan Berg (bryan AT imeem DOT com).
170
171 2005-10-11  Zoltan Varga  <vargaz@gmail.com>
172
173         * pthread_support.c (GC_thread_deregister_foreign): Make this return
174         void instead of void*.
175
176 2005-09-29  Raja R Harinath  <harinath@gmail.com>
177
178         * configure.host: Fix syntax error.
179
180 2005-08-24  Zoltan Varga  <vargaz@gmail.com>
181
182         * win32_threads.c: If GC_INSIDE_DLL is defined, define the DllMain function for automatic registration
183         of threads with the GC.
184
185         * configure.in: Add an option for turning GC_INSIDE_DLL on.     
186
187 2005-08-25  Zoltan Varga  <vargaz@freemail.hu>
188
189         * solaris_threads.c (GC_thread_register_foreign): Add dummy implementation.
190
191 Mon Aug 22 10:41:41 BST 2005 Paolo Molaro <lupus@ximian.com>
192
193         * include/private/gc_locks.h: make gcc generate correct code for swp
194         (patch by tomba@bat.org, Tomi Valkeinen).
195
196 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
197
198         * include/private/gc_locks.h: Fix compilation of GC_test_and_set on IA64 with gcc-3.3.5.
199
200 Thu Aug 18 18:08:54 CEST 2005 Paolo Molaro <lupus@ximian.com>
201
202         * include/private/gcconfig.h: use LINUX_STACKBOTTOM on ARM Linux.
203
204 Mon Aug 1 16:49:45 CEST 2005 Paolo Molaro <lupus@ximian.com>
205
206         * include/private/pthread_support.h, pthread_support.c: added
207         patch to support registering new threads at runtime (from
208         Michael Meeks <michael.meeks@novell.com>).
209
210 2005-07-07  Raja R Harinath  <rharinath@novell.com>
211
212         * Makefile.am (INCLUDES): Add $(top_builddir)/.. to pick up mono's
213         config.h.
214
215 Thu Jul 7 12:15:22 CEST 2005 Paolo Molaro <lupus@ximian.com>
216
217         * pthread_support.c: fix compilation when TLS_ALLOC is not defined.
218
219 Thu Jul 7 11:59:42 CEST 2005 Paolo Molaro <lupus@ximian.com>
220
221         * pthread_support.c, Makefile.am: make the __thread var use
222         fast access if available (and avoid dlopen issue, bug #75390).
223
224 2005-07-05  Ben Maurer  <bmaurer@ximian.com>
225
226         * pthread_stop_world.c (pthread_start_world, _GC_suspend_handler):
227         Make sure that all threads have been started before releasing the
228         GC_lock. Otherwise, the thread table can be corrupt in the restart
229         handler, causing deadlocks and segfaults.
230
231 2005-06-22  Zoltan Varga  <vargaz@freemail.hu>
232
233         * include/private/gcconfig.h: Fix amd64 build.
234
235 2005-06-21  Ben Maurer  <bmaurer@ximian.com>
236
237         * configure.host: remove -fexceptions, messes up with nptl
238         includes, as on fc4.
239
240 2005-06-17  Zoltan Varga  <vargaz@freemail.hu>
241
242         * pthread_support.c: Workaround gcc-3.3 compiler bug.
243
244 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
245
246         * libgc.vcproj: Project file for libgc.
247
248 2005-05-19  Zoltan Varga  <vargaz@freemail.hu>
249
250         * configure.in: Handle i386-*-linux* as well. Fixes #74960.     
251
252 Tue May 3 16:28:26 CEST 2005 Paolo Molaro <lupus@ximian.com>
253
254         * os_dep.c: remove usage of libc private symbol.
255
256 2005-05-02  Miguel de Icaza  <miguel@novell.com>
257
258         * pthread_stop_world.c (GC_restart_handler, GC_suspend_handler):
259         Wrap the original routines into methods that preserve the value of
260         errno.  Fixes #74740
261
262 2005-04-18  Zoltan Varga  <vargaz@freemail.hu>
263
264         * configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com).
265
266 2005-04-15  Zoltan Varga  <vargaz@freemail.hu>
267
268         * configure.in: Applied another freebsd patch from Bill Middleton (flashdict@gmail.com).
269
270 2005-04-11  Zoltan Varga  <vargaz@freemail.hu>
271
272         * include/private/gcconfig.h configure.in os_dep.c dyn_load.c: 
273         Applied some freebsd patch from Bill Middleton <flashdict@gmail.com>.
274
275 2005-04-06  Zoltan Varga  <vargaz@freemail.hu>
276
277         * solaris_pthreads.c (GC_pthread_detach): Add locking.
278
279         * include/gc_pthread_redirects.h (pthread_detach): Override pthread_detach too.
280
281         * solaris_pthreads.c (GC_pthread_detach): Override pthread_detach too. Fixes
282         #74223.
283
284 2005-03-29  Zoltan Varga  <vargaz@freemail.hu>
285
286         * os_dep.c: Add ability to fall back to mmap-ing memory when sbrk
287         fails.
288
289         * include/private/gcconfig.h: Enable FALLBACK_TO_MMAP on amd64. Fixes
290         #73882.
291
292         * config.guess config.sub ltmain.sh: Update these files with more
293         up-to-date versions. Fixes #74071.
294
295 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
296
297         * solaris_threads.c (GC_thread_is_registered): Add this for solaris
298         too.
299
300         * pthread_support.c (GC_thread_is_registered): Move this outside of
301         the #ifdef THREAD_LOCAL_ALLOC.
302
303 2005-03-03  Zoltan Varga  <vargaz@freemail.hu>
304
305         * include/gc.h pthread_support.c win32_threads.: Add 
306         GC_thread_is_registered API function.
307
308 2005-02-17  Raja R Harinath  <rharinath@novell.com>
309
310         * acinclude.m4: Don't include distributed libtool.m4.
311         
312 Wed Feb 16 22:30:54 CET 2005 Paolo Molaro <lupus@ximian.com>
313
314         * alloc.c: tune the code to collect instead of expanding
315         the heap if there are many finalizers and we reclaimed some
316         memory from cleaning the finalization queue (should fix
317         bug #71001 and #70701).
318
319 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
320
321         * include/private/gc_priv.h: Bump the max root sets to 1024
322
323 Mon Jan 24 16:39:42 CET 2005 Paolo Molaro <lupus@ximian.com>
324
325         * alloc.c, include/gc.h: add event notification, mostly from 
326         a patch by Ben Maurer.
327
328 2005-01-23  Geoff Norton  <gnorton@customerdna.com>
329         
330         * os_dir.c: Change GC_task_self to be static everywhere on Darwin.
331         Allows gcc4.0 to compile.
332
333 Tue Jan 18 11:19:47 CET 2005 Paolo Molaro <lupus@ximian.com>
334
335         * pthread_stop_world.c: handle EINTR from sem_wait() call.
336
337 2004-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
338
339         * include/private/gc_priv.h: use the test glib does
340         for EXPECT.
341
342 2004-08-20  Zoltan Varga  <vargaz@freemail.hu>
343
344         * include/private/gc_priv.h (__GNUC_PREREQ): Fix typo spotted by Ben.
345
346         * include/gc_local_alloc.h pthread_support.c: Add 
347         GC_local_gcj_fast_malloc.
348
349         * include/private/gc_priv.h (EXPECT): Enable this on modern versions
350         of gcc.
351
352 2004-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
353
354         * pthread_support.c: make __thread variable static
355         
356         * include/gc_local_alloc.c: make the other headers get
357         included before we define our own variable. This fixes
358         up an ordering problem with GCJ and thread local alloc.
359         
360         The problem was that gc.h needed to include gc_local_alloc.h
361         before gc_gcj.h. However, when gc.h was included after
362         GC_LOCAL_ALLOC_H was #defined, it would not include
363         gc_local_alloc.h.
364
365 2004-08-16  Zoltan Varga  <vargaz@freemail.hu>
366
367         * Makefile.am: Create a static version of libmonogc for inclusion into
368         the mono executable.
369
370 2004-07-27  John Merryweather Cooper <john_m_cooper@yahoo.com>
371
372         * configure.in:  Fix to properly select flags for pthreads
373         on FreeBSD 4.x (aka -STABLE) and 5.x (aka -CURRENT).
374         
375 2004-07-01  Zoltan Varga  <vargaz@freemail.hu>
376
377         * include/install-sh doc/install-sh: New files.
378
379 2004-06-30  Zoltan Varga  <vargaz@freemail.hu>
380
381         * include/private/gc_priv.h (SMALL_OBJ): Add Hans' fix for crashes
382         seen on SPARC64.
383
384 Thu Jun 24 15:39:00 CEST 2004 Paolo Molaro <lupus@ximian.com>
385
386         * alloc.c: use Hans' fix for bug #59557.
387
388 2004-06-18  Dick Porter  <dick@ximian.com>
389
390         * darwin_stop_world.c: Make the world actually stop.  This seems
391         to fix the finalizer thread signalling deadlock in 58706.
392
393 Sat Jun 5 19:38:20 CEST 2004 Paolo Molaro <lupus@ximian.com>
394
395         * alloc.c: temporary fix for bug #59557.
396
397 Tue May 25 13:41:08 EDT 2004 Paolo Molaro <lupus@ximian.com>
398
399         * darwin_stop_world.c: more thread died races fixes.
400
401 2004-05-21  Martin Baulig  <martin@ximian.com>
402
403         * pthread_stop_world.c: Merged the changes from linux_threads.c.
404
405         * linux_threads.c: Removed, this file no longer exists in the
406         latest upstream version.
407
408 2004-05-20  Martin Baulig  <martin@ximian.com>
409
410         * libgc.patch: Removed.  There's no need to have this in a
411         separate file, just use CVS.
412
413 2004-05-20  Jackson Harper  <jackson@ximian.com>
414
415         * Makefile.am: Remove tests from EXTRA_DIST.
416         
417 Wed May 19 18:57:30 CEST 2004 Paolo Molaro <lupus@ximian.com>
418
419         * darwin_stop_world.c: deal with threads that die before they can be
420         suspended (should solce the thread_info failed aborts).
421
422 Wed May 19 18:42:23 CEST 2004 Paolo Molaro <lupus@ximian.com>
423
424         * configure.in, Makefile.am: update correctly from the libgc sources:
425         this excludes linux_threads.c from the build: Martin will have to port
426         his changes to the new code, since linux_threads.c doesn't exist
427         anymore in the upstream sources.
428
429 2004-05-19  Raja R Harinath  <rharinath@novell.com>
430
431         * configure.in ($enable_embed_check): New internal option that
432         will be passed by mono's configure.
433         (THREADS): Use $with_libgc_threads, which is passed by mono's
434         configure.
435
436 2004-05-18  Martin Baulig  <martin@ximian.com>
437
438         Importing Boehm GC 6.3 alpha 6.
439
440 2004-03-24 Ben Maurer  <bmaurer@users.sourceforge.net>
441
442         * gcj_mlc.c: Do finalization.
443
444         This is a patch from Hans Boehm that fixes a bug where
445         GC_gcj_malloc never does finalization.
446
447         See:
448         http://www.hpl.hp.com/hosted/linux/mail-archives/gc/2004-March/000359.html
449         http://bugzilla.ximian.com/show_bug.cgi?id=55644
450
451         Fixes #55644.
452
453         I am checking this in at Zoltan's request.
454
455 2003-11-07  Zoltan Varga  <vargaz@freemail.hu>
456
457         * autogen.sh: Fix previous patch and silence noisy GNU which.   
458         
459         * autogen.sh: Applied patch from Peter Teichman (peter@ximian.com). 
460         Use 'glibtool' instead of 'libtool' on OSX. 
461
462 2003-10-01  Pedro Martínez Juliá  <yoro@wanadoo.es>
463
464         * Makefile.am: Change lib_LTLIBRARIES to noinst_LTLIBRARIES because
465         of libmonogc is included inside libmono and without this change it
466         breaks down and not include it.
467
468 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
469
470         * mips_sgi_mach_dep.S: Remove since it is a duplicate of .s and it
471         breaks cvs checkout under windows.
472
473 Wed Sep 17 17:29:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
474
475         * configure.in: disable ALL_INTERIOR_POINTERS: managed pointers
476         are not allowed in the heap, so this should be safe and it helps
477         reducing false positives.
478
479 2003-08-28  Dick Porter  <dick@ximian.com>
480
481         * pthread_support.c:
482         * aix_irix_threads.c:  Applied bug fix from alpha libgc
483
484 2003-08-26  Martin Baulig  <martin@ximian.com>
485
486         Imported Boehm GC 6.2.
487
488 2003-06-20  Martin Baulig  <martin@ximian.com>
489
490         * include/gc.h: Fixed compiler warnings.
491
492 2003-06-09  Martin Baulig  <martin@ximian.com>
493
494         * include/libgc-mono-debugger.h: New header file.  This is
495         installed as <mono/private/libgc-mono-debugger.h>, but it's a
496         private header files and may only be used by the Mono Debugger.
497
498         * Makefile.am: Build libmonogc.la and install it.  For some
499         reason, using a libtool convenience archive doesn't work here.
500
501 2003-06-08  Martin Baulig  <martin@ximian.com>
502
503         * libgc-mono.pc.in: Removed.
504
505         * Makefile.am: Don't install anything.
506
507         * configure.in: We're now embedded in mono and can't be built as a
508         stand-alone module any longer.
509
510 2003-05-17  Martin Baulig  <martin@ximian.com>
511
512         * libgc.patch, libgc.log: Added patch against the original version
513         and a ChangeLog entry.
514
515 2003-05-17  Martin Baulig  <martin@ximian.com>
516
517         * misc.c, os_dep.c, include/private/gc_priv.h: Back to the
518         original version.
519
520         * linux_threads.c: Use the `gc_thread_vtable' internally in this
521         file instead of calling it from the header files.
522
523 2003-05-16  Martin Baulig  <martin@ximian.com>
524
525         * include/gc.h (GCThreadFunctions): Removed the `pthread_*'
526         function since we don't need them here.
527
528         * include/gc_pthread_redirects.h: Put back the original version.
529
530 2003-04-08  Alp Toker <alp@atoker.com>
531
532         * configure.in: fix automake 1.6 compatibility without breaking
533         previous versions (AM_PROG_AS)
534
535 2003-03-31  Martin Baulig  <martin@ximian.com>
536
537         * include/gc.h (GCThreadFunctions): New type.
538         (gc_thread_vtable): New global variable.
539
540         * include/gc_pthread_redirects.h: Use the `gc_thread_vtable'
541         vtable for the redirects instead of calling the methods directly.
542         This allows us to override them at runtime.     
543
544 2003-03-31  Martin Baulig  <martin@ximian.com>
545
546         * include/Makefile.am: Install gc_pthread_redirects.h.
547
548         * include/gc.h: `#include <gc/gc_pthread_redirects.h>', not
549         `#include "gc_pthread_redirects.h"'.
550
551 2003-03-31  Martin Baulig  <martin@ximian.com>
552
553         * configure.in: Call the package `libgc-mono'.
554
555         * libgc-mono.pc.in: Added pkg-config files.
556
557 2003-03-31  Martin Baulig  <martin@ximian.com>
558
559         This is a modified version of Boehm GC 6.1.
560