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