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