hboehm [Tue, 14 Aug 2007 20:33:52 +0000 (20:33 +0000)]
2007-08-14 Hans Boehm <Hans.Boehm@hp.com> (really mostly Samuel Thibault)
* dbg_mlc.c: Use random() on all glibc systems.
* mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext() on
HURD. Add comment.
* pthread_stop_world.c (GC_suspend_handler, GC_stop_init): Accomodate
systems without SA_SIGINFO.
hboehm [Tue, 14 Aug 2007 19:48:22 +0000 (19:48 +0000)]
2007-08-14 Hans Boehm <Hans.Boehm@hp.com> (partly really Henrik Theiling)
* include/gc.h (GC_PTR_STORE): Fix non-DEBUG parentheses.
* tests/test.c (run_one_test): Add GC_PTR_STORE test.
No longer test for RS6000.
hboehm [Sat, 4 Aug 2007 06:26:29 +0000 (06:26 +0000)]
2007-08-03 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c, backgraph.c, headers.c, include/private/gc_priv.h:
Maintain GC_our_memory and GC_n_memory.
* dbg_mlc.c (GC_print_smashed_obj): Improve message.
(GC_print_all_smashed_proc): Pass client object address instead of
base.
* dyn_load.c (sort_heap_sects): New. (GC_register_map_entries):
Register sections that are contiguous and merged with our heap.
* malloc.c, os_dep.c (GC_text_mapping): Check for just base name
of libraries.
* malloc.c (calloc): Check for special callers even with
USE_PROC_FOR_LIBRARIES. Move assertion. Add rudimentary
malloc/free tracing.
* misc.c: No longer call GC_init_lib_bounds explicitly.
* thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Always
initialize on demand.
* tests/test.c: Call GC_INIT only when required.
hboehm [Sat, 4 Aug 2007 05:59:28 +0000 (05:59 +0000)]
2007-08-03 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.direct: Remove comment fragment.
* tests/tests.am: Add smashtest.
* Makefile.in: Regenerate.
* configure.ac: Define GC_USE_DLOPEN_WRAP with redirect-malloc.
* configure: Regenerate.
* pthread_support.c: Fix comment spelling.
* include/private/gcconfig.h: Define USE_PROC_FOR_LIBRARIES with
GC_LINUX_THREADS and REDIRECT_MALLOC.
* tests/smash_test.c: Initial check-in.
* obj_map.c: Print log entry to correct file.
* include/private/thread_local_alloc.h: Add TlsAlloc error check.
hboehm [Mon, 23 Jul 2007 21:01:46 +0000 (21:01 +0000)]
2007-07-23 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c (GC_stopped_mark): Call GC_add_current_malloc_heap()
while world is still running.
* os_dep.c (GC_is_heap_base): Don't call GC_add_current_malloc_heap()
with world stopped.
* include/gc.h (GC_INIT for cygwin): Always call GC_add_roots.
* misc.c (GC_init/GC_init_inner): Perform all work in
GC_init_inner.
* Makefile.direct: Expand -DUSE_MUNMAP comment.
2007-07-23 Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
* include/gc.h: Define uintptr_t explicitly for VC++6.
* msvc_dbg.c (GetModuleBase): Revert to strcat if strcat_s doesn't
exist.
hboehm [Mon, 2 Jul 2007 23:09:59 +0000 (23:09 +0000)]
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
* configure: Regenerate, for real this time.
hboehm [Mon, 2 Jul 2007 23:08:21 +0000 (23:08 +0000)]
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
* version.h, configure.ac, doc/README: Change to version 7.1alpha1.
* configure: Regenerate.
hboehm [Mon, 2 Jul 2007 22:59:50 +0000 (22:59 +0000)]
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
* version.h, configure.ac, doc/README: Change to version 7.0.
* configure: Regenerate.
hboehm [Mon, 2 Jul 2007 22:01:11 +0000 (22:01 +0000)]
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
* include/gc_config_macros.h: Also check for IA64 when setting
GC_HPUX_THREADS.
* mallocx.c: Change my_bytes_allocd to signed_word.
* include/gc_pthread_redirects.h: Remove obsolete Solaris threads
(as opposed to pthreads) support.
hboehm [Mon, 2 Jul 2007 17:17:46 +0000 (17:17 +0000)]
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
* mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext()
on ARM/Linux. Check getcontext() return value.
hboehm [Sat, 30 Jun 2007 05:49:31 +0000 (05:49 +0000)]
2007-06-29 Hans Boehm <Hans.Boehm@hp.com>
* backgraph.c (per_object_func): Make argument types consistent.
(GC_traverse_back_graph): Mark GC_deepest_obj.
hboehm [Fri, 29 Jun 2007 19:39:27 +0000 (19:39 +0000)]
2007-06-29 Hans Boehm <Hans.Boehm@hp.com>
* finalize.c (GC_finalize): Change dl_size and fo_size to size_t.
* os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option.
hboehm [Fri, 29 Jun 2007 00:16:27 +0000 (00:16 +0000)]
2007-06-28 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.win32, doc/README, README.QUICK: Fix some of the worst
anachronisms.
* dyn_load.c: Partially support cygwin, but don't enable it yet.
hboehm [Thu, 28 Jun 2007 21:23:45 +0000 (21:23 +0000)]
2007-06-28 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Use -no-undefined for libgc.
* Makefile.in: Regenerate.
* Makefile.direct: Document USE_PROC_FOR_LIBRARIES.
* dyn_load.c (GC_register_map_entries): Rename prot_buf to prot
consistently.
* misc.c: Fix some WARN calls. Move GC_is_initialized setting and
GC_thr_init() call.
* os_dep.c: Consistently use WARN where appropriate.
* thread_local_alloc.c: Revert change to GC_WIN32_THREADS test. Instead
remove inappropriate pthread.h include.
* doc/README.linux: Remove some anachronisms.
* libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
64-bit version.
hboehm [Sun, 24 Jun 2007 02:19:31 +0000 (02:19 +0000)]
2007-06-23 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c: Also use GC_check_tls on non-Linux systems.
* mallocx.c (GC_reclaim_generic): Remove bogus declaration.
* include/private/gc_priv.h (GC_reclaim_generic): Declare correctly
with prototype.
hboehm [Tue, 19 Jun 2007 18:27:41 +0000 (18:27 +0000)]
2007-06-19 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c (GC_adj_bytes_allocd): Avoid (long) casts, fix comment.
(GC_print_heap_sects): Use size_t instead of unsigned long.
* thread_local_alloc.c (GC_lookup_thread): Define in the correct
context.
* win32_threads.c, include/gc_config_macros.h: The last of Romano
Paolo Tenca's patch. Move stdint.h include to gc_config_macros.h.
* include/gc_inline.h: Avoid gc_priv.h dependencies.
* tests/test.c (check_heap_stats): Replace unsigned long with size_t.
hboehm [Wed, 13 Jun 2007 05:16:27 +0000 (05:16 +0000)]
2007-06-12 Hans Boehm <Hans.Boehm@hp.com>
* aclocal.m4: Regenerate to update date.
hboehm [Sun, 10 Jun 2007 18:03:30 +0000 (18:03 +0000)]
2007-06-10 Hans Boehm <Hans.Boehm@hp.com>
* NT_X64_STATIC_THREADS_MAKEFILE: Replace obsolete -debugtype:cv.
* mark_rts.c (GC_push_roots): Fix kind type.
hboehm [Thu, 7 Jun 2007 04:35:18 +0000 (04:35 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.win64: New file.
* doc/doc.am, Makefile.direct: Add README.win64.
* Makefile.in: Regenerate.
hboehm [Thu, 7 Jun 2007 02:53:32 +0000 (02:53 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am, Makefile.direct: Add NT_X64_STATIC_THREADS_MAKEFILE.
* Makefile.in: Regenerate.
* NT_X64_STATIC_THREADS_MAKEFILE: Fix warning flags.
* allochblk.c, alloc.c, blacklst.c, dbg_malc.c, dyn_load.c,
finalize.c, headers.c, mach_dep.c, malloc.c, mark.c, misc.c,
obj_map.c, os_dep.c, ptr_chck.c, reclaim.c, typd_mlc.c,
win32_threads.c, cord/de_win.c, include/gc_mark.h,
include/private/gc_hdrs.h, include/private/gc_pmark.h,
include/private/gc_priv.h, tests/test_cpp.cc:
Replace old style function declarations. Clean up integral types.
Remove register declarations. The change in malloc.c and the
"int descr" declaration in mark.c are the most likely to have
been real bugs outside of win64.
* msvc_dbg.c: Disable on win64.
* win32_threads.c: Add AMD64 support.
* include/gc.h: no backtrace on AMD64 for now.
hboehm [Wed, 6 Jun 2007 20:04:43 +0000 (20:04 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
* msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s.
hboehm [Wed, 6 Jun 2007 19:58:55 +0000 (19:58 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
* include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
Don't include windows.h in an extern "C" context.
* include/private/gcconfig.h: Fix win64/X86_64 configuration.
* tests/test.c: Eliminate more old style function definitions.
Cleanup pointer and integer casts for win64.
* tests/test_cpp.cc: Don't include gc_priv.h.
* NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
* NT_X64_STATIC_THREADS_MAKEFILE: New.
hboehm [Wed, 6 Jun 2007 19:49:20 +0000 (19:49 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
* include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
Don't include windows.h in an extern "C" context.
* include/private/gcconfig.h: Fix win64/X86_64 configuration.
* tests/test.c: Eliminate more old style function definitions.
Cleanup pointer and integer casts for win64.
* tests/test_cpp.cc: Don't include gc_priv.h.
* NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
* NT_X64_STATIC_THREADS_MAKEFILE: New.
hboehm [Wed, 6 Jun 2007 19:29:05 +0000 (19:29 +0000)]
2007-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
* win32_threads.c: Separate out DEBUG_WIN32_PTHREADS_STACK. Ignore
FINISHED threads for suspension. (GC_pthread_join): Add
pthread_self() cast. (GC_pthread_start_inner): Execute cleanup
handler when popping it.
* include/private/gc_locks.h: Inline THREAD_EQUAL for
GC_WIN32_PTHREADS. Define USE_PTHREAD_LOCKS only if we have
pthreads.
hboehm [Thu, 24 May 2007 05:18:06 +0000 (05:18 +0000)]
2007-05-23 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
* gc_dlopen.c, thread_local_alloc.c, threadlibs.c, win32_threads.c,
tests/test.c: Accomodate GC_WIN32_PTHREADS.
* include/gc.h: Don't include windows.h for GC_WIN32_PTHREADS.
* include/gc_config_macros.h: Define both PTHREADS and
GC_WIN32_THREADS.
* include/private/gc_locks.h: Nonstandard definitions of
NUMERIC_THREAD_ID for GC_WIN32_PTHREADS.
* doc/README.win32, Makefile.direct: Include documentation
for GC_WIN32_PTHREADS.
* Makefile.direct: Remove some anachronisms in the documentation.
hboehm [Thu, 24 May 2007 00:23:26 +0000 (00:23 +0000)]
2007-05-23 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Move includes to bottom. Add better library
dependencies. Increment library version. Remove "SUBDIRS += .".
* cord/cord.am, tests/tests.am: Add better library dependencies.
Remove now unnecessary dependencies.
* Makefile.in: Regenerate.
* include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
Move to define on all Windows platforms. (_beginthread): define
to generate error if used.
hboehm [Tue, 22 May 2007 19:38:13 +0000 (19:38 +0000)]
2007-05-22 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_locks.h: Format to 80 columns.
hboehm [Tue, 22 May 2007 19:35:54 +0000 (19:35 +0000)]
2007-05-22 Hans Boehm <Hans.Boehm@hp.com>
* malloc.c(GC_free): Ignore bad frees on MSWIN32 with REDIRECT_MALLOC.
* NT_MAKEFILE: msvc_dbg.h is in include/private. Don't use cvars
rc.
* misc.c (WIN32 GC_write): Define GC_need_to_lock in single-threaded
case.
* win32_threads.c: Test for __MINGW32__ in addition to _MINGW_VER.
(GC_CreateThread, GC_beginthreadex): Deallocate args even if we fail.
* include/gc.h: Add GC_reachable_here(). (GC_WinMain): Add GC_API.
(GC_beginthreadex, GC_endthreadex, GC_ExitThread): Declare.
* tests/test.c: Add GC_reachable_here() call.
hboehm [Mon, 21 May 2007 23:30:47 +0000 (23:30 +0000)]
2007-05-21 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c (GC_try_to_collect): Call GC_init if necessary.
* tests/thread_leak_test.c: Don't unconditionally define
GC_LINUX_THREADS.
a_tobler [Mon, 21 May 2007 20:27:12 +0000 (20:27 +0000)]
2007-05-21 Andreas Tobler <a.tobler@schweiz.org>
* Makefile.am: Remove extra_ldflags_libgc definition.
* Makefile.in: Regenerate.
hboehm [Fri, 18 May 2007 04:49:15 +0000 (04:49 +0000)]
2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
* ChangeLog: Fix spelling.
hboehm [Fri, 18 May 2007 04:44:44 +0000 (04:44 +0000)]
2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
* src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
Add cast for return.
2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_priv.h: Define AO_REQUIRE_CAS.
hboehm [Wed, 16 May 2007 23:28:32 +0000 (23:28 +0000)]
2007-05-16 Hans Boehm <Hans.Boehm@hp.com>
* finalize.c (GC_unreachable_finalize_mark_proc): Don't return void
value.
hboehm [Tue, 15 May 2007 19:46:56 +0000 (19:46 +0000)]
2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, version.h, doc/README: Change version to 7.0alpha10.
* configure: Regenerate.
hboehm [Tue, 15 May 2007 19:30:33 +0000 (19:30 +0000)]
2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, version.h, doc/README: Change version to 7.0alpha9.
* configure: Regenerate.
hboehm [Tue, 15 May 2007 18:59:21 +0000 (18:59 +0000)]
2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist.
* Makefile.in: Regenerate.
* include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add:
remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New. GC_lock_holder: now
unsigned long. I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update.
* pthread_stop_world.c, pthread_support.c, win32_threads.c: Use
NUMERIC_THREAD_ID, THREAD_EQUAL.
* include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove.
* include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on
ARM.
hboehm [Tue, 15 May 2007 18:57:47 +0000 (18:57 +0000)]
2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist.
* Makefile.in: Regenerate.
* include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add:
remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New. GC_lock_holder: now
unsigned long. I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update.
* pthread_stop_world.c, pthread_support.c, win32_threads.c: Use
NUMERIC_THREAD_ID, THREAD_EQUAL.
* include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove.
* include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on
ARM.
* libatomic_ops-1.2/doc/README.txt: Update to reflect C++
standardization effort.
hboehm [Fri, 11 May 2007 21:55:38 +0000 (21:55 +0000)]
2007-05-11 Hans Boehm <Hans.Boehm@hp.com>
* dbg_mlc.c, include/gc.h, finalize.c: Merge Alexandre Oliva's
GC_debug_register_finalizer_unreachable() patch from gcc tree.
* thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Add assertions
to check GC has been initialized.
hboehm [Fri, 11 May 2007 00:30:36 +0000 (00:30 +0000)]
2007-05-10 Hans Boehm <Hans.Boehm@hp.com>
* include/gc_cpp.h: Documentation updates.
* include/gc_config_macros.h: Don't check for __ppc__ to set
DARWIN_THREADS.
* Makefile.am: Include configure_atomic_ops.sh in dist.
* Makefile.in: Regenerate.
hboehm [Tue, 8 May 2007 22:30:15 +0000 (22:30 +0000)]
2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Dont distribute copied atomic_ops files. Include
libatomic_ops with "make dist".
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Enable THREAD_LOCAL_ALLOC for Cygwin with threads.
* win32_threads.c: Report error for Cygwin + GC_DLL.
hboehm [Tue, 8 May 2007 19:22:39 +0000 (19:22 +0000)]
2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.direct: Update THREAD_LOCAL_ALLOC documentation.
* cord/de_win.c: Rename and move AboutBox. Call GC_INIT. Remove
MakeProcInstance anachronism.
* doc/README.macros: Officially remove elif prohibition.
Remove documentation for defunct SRC_M3 support.
* include/gc.h: Remove more SRC_M3 references.
* include/private/gcconfig.h: Remove still more SRC_M3 references.
GC_SOLARIS_THREADS no longer needs to be checked separately.
hboehm [Tue, 8 May 2007 18:27:08 +0000 (18:27 +0000)]
2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
* thread_local_alloc.c, include/private/thread_local_alloc.h:
Spell __declspec correctly.
* NT_STATIC_THREADS_MAKEFILE: Enable thread-local allocation.
hboehm [Tue, 8 May 2007 00:08:51 +0000 (00:08 +0000)]
2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.win32: Adjust GC_win32_dll_threads rules again.
hboehm [Mon, 7 May 2007 23:23:50 +0000 (23:23 +0000)]
2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
* mark.c (GC_mark_some wrapper): Restructure for readability, handle
GC_started_thread_while_stopped.
* misc.c (Win32 GC_write): Lock GC_write_cs only if needed.
* win32_threads.c: (client_has_run): remove,
GC_started_thread_while_stopped, GC_attached_thread: add.
(GC_push_all_stacks): Add verbose output.
(DllMain): Avoid initializing collector or the like.
Never update both thread tables.
* doc/README.win32: Adjust GC_win32_dll_threads rules.
hboehm [Mon, 7 May 2007 22:22:34 +0000 (22:22 +0000)]
2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
* pthread_stop_world.c (GC_push_all_stacks): Print thread count with
GC_PRINT_VERBOSE_STATS.
hboehm [Tue, 1 May 2007 20:45:14 +0000 (20:45 +0000)]
2007-05-01 Hans Boehm <Hans.Boehm@hp.com>
(and Manuel Serrano, Craig McDaniel)
* configure.ac: Comment out redundant
AC_DEFINE(NO_EXECUTE_PERMISSION).
* configure: Regenerate.
* sparc_mach_dep.S: Remove single quote in comment.
* include/private/gcconfig.h: Fix DATAEND for NONSTOP.
* win32_threads.c: Include stdint.h for Mingw. Add GC_API for DllMain.
(GC_use_DllMain): Fix assertion.
a_tobler [Wed, 14 Feb 2007 20:13:00 +0000 (20:13 +0000)]
2007-02-14 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
* configure: Regenerate.
* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
* Makefile.in: Regenerate.
* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
targets. Remove comments.
Prepare ppc64 support for Darwin.
a_tobler [Mon, 29 Jan 2007 21:10:56 +0000 (21:10 +0000)]
2007-01-29 Andreas Tobler <a.tobler@schweiz.org>
* darwin_stop_world.c: Clean up and reformat code.
a_tobler [Sun, 28 Jan 2007 08:40:11 +0000 (08:40 +0000)]
2007-01-28 Andreas Tobler <a.tobler@schweiz.org>
* darwin_stop_world.c (GC_push_all_stacks): Fix compiler warnings.
Make i unsigned.
(GC_stop_world): Likewise. Remove unused GC_thread p.
(GC_start_world): Likewise.
* os_dep.c: Define GC_darwin_register_mach_handler_thread extern.
Remove double SIG_HNDLR_PTR definition.
(GC_forward_exception): Fix compiler warnings, make i unsigned.
Initialize thread_state to NULL.
(catch_exception_raise): Fix compiler warnings, make i unsigned.
hboehm [Thu, 25 Jan 2007 23:43:10 +0000 (23:43 +0000)]
2007-01-25 Petr Salinger and Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant):
also define for X86_64.
* configure.ac: Move generic gnu (Hurd) case to below kfreebsd case.
* configure: Regenerate.
* doc/README.changes: Point to ChangeLog.
a_tobler [Thu, 25 Jan 2007 05:18:27 +0000 (05:18 +0000)]
2007-01-25 Andreas Tobler <a.tobler@schweiz.org>
* darwin_stop_world.c: Move THREAD_FLD defines to ...
* include/private/gc_priv.h: ... here.
Fix THREAD_STATE definitions for ppc64.
* os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member
access.
a_tobler [Thu, 18 Jan 2007 18:51:49 +0000 (18:51 +0000)]
2007-01-18 Andreas Tobler <a.tobler@schweiz.org>
* os_dep.c (if defined(MPROTECT_VDB) && defined(DARWIN)): Clean up and
reformat code.
Correct email reference.
a_tobler [Thu, 11 Jan 2007 19:32:44 +0000 (19:32 +0000)]
2007-01-11 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with
HAS_X86_THREAD_STATE32_*.
(x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with
HAS_X86_THREAD_STATE64_*.
Added value 1 in the above AC_DEFINE's. Important for the upcoming
Leopard.
* configure: Regenerated.
* include/private/gcconfig.h: Modified X86_64 define for Darwin.
Removed __x86_64__ check in POWERPC section. Added base definitions
for the X86_64 Darwin port.
* include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION
to distinguish between 32 and 64-bit applications. Added definitions
for X86_64 Darwin.
* darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And
replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX.
(GC_push_all_stacks): Added code for X86_64 Darwin. Even for the
!DARWIN_DONT_PARSE_STACK. Maybe obsolete.
* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
Distinguish between getsectbynamefromheader_64 and
getsectbynamefromheader.
* os_dep.c (catch_exception_raise): Introduce exception definition for
X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with
x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr.
a_tobler [Tue, 9 Jan 2007 21:07:54 +0000 (21:07 +0000)]
2007-01-09 Andreas Tobler <a.tobler@schweiz.org>
* libtool.m4: Update to version from libtool-1.5.22.
* ltmain.sh: Likewise.
* ChangeLog: Created.
hboehm [Sat, 6 Jan 2007 00:25:28 +0000 (00:25 +0000)]
2007-01-05 Hans Boehm <Hans.Boehm@hp.com> (Really Andreas Tobler, others)
* os_dep.c, include/private/gcconfig.h: Partial (?) FREEBSD/X86_64
support.
* include/private/gc_priv.h (i386_THREAD_STATE_COUNT): Fix spelling.
hboehm [Thu, 14 Dec 2006 21:51:39 +0000 (21:51 +0000)]
2006-12-14 Hans Boehm <Hans.Boehm@hp.com> (with much help, particularly
from Allan Hsu)
* include/private/gcconfig.h: Handle Darwin/X86-64 a bit better.
* include/private/gc_priv.h (GC_THREAD_STATE_T, GC_MAC_THREAD_STATE,
GC_MACH_THREAD_STATE_COUNT): Define for DARWIN.
* os_dep.c: Use GC_MAC_THREAD_STATE.
* darwin_stop_world.c: More portable register state access,
fix premature vm_deallocate.
* configure.ac: Add tests for machine state field names on Darwin.
* configure: Regenerate with autoconf 2.60a.
hboehm [Wed, 6 Dec 2006 19:16:14 +0000 (19:16 +0000)]
2006-12-06 Hans Boehm <Hans.Boehm@hp.com> and Peter Wang
* include/private/thread_local_alloc.h, include/new_gc_alloc.h:
Fix __GNUC__ spelling.
* include/gc.h (GC_general_register_disappearing_link):
Add comments.
hboehm [Fri, 17 Nov 2006 05:37:13 +0000 (05:37 +0000)]
2006-11-16 Hans Boehm <Hans.Boehm@hp.com> (really mostly Bruce Hoult)
* doc/README.Mac: Clarify that this file is mostly obsolete.
* reclaim.c (GC_print_free_list): New debug function.
hboehm [Fri, 17 Nov 2006 05:28:22 +0000 (05:28 +0000)]
2006-11-16 Hans Boehm <Hans.Boehm@hp.com> (really from Aleksey Demakov,
Barry DeFreese and possibly other Debian maintainers)
* configure.ac dyn_load.c os_dep.c pthread_support.c,
threadlibs.c include/gc_config_macros.h, include/private/gcconfig.h:
Add GC_GNU_THREADS/HURD support.
hboehm [Thu, 5 Oct 2006 19:41:03 +0000 (19:41 +0000)]
2006-10-05 Hans Boehm <Hans.Boehm@hp.com>
* Document gc_cpp.h misbehavior with dynamic libraries.
hboehm [Fri, 29 Sep 2006 17:53:40 +0000 (17:53 +0000)]
2006-09-29 Hans Boehm <Hans.Boehm@hp.com> (mostly Renaud Blanch, actually)
* darwin_stop_world.c: Split MACHINE_THREAD_STATE deoending on
architecture. Reindent in places.
hboehm [Fri, 29 Sep 2006 04:30:04 +0000 (04:30 +0000)]
2006-09-28 Hans Boehm <Hans.Boehm@hp.com>
* darwin_stop_world.c (FindTopOfStack): Change parameter type.
hboehm [Fri, 29 Sep 2006 04:27:25 +0000 (04:27 +0000)]
2006-09-28 Hans Boehm <Hans.Boehm@hp.com>
* pthread_stop_world.c: M68K Debian fix.
hboehm [Fri, 29 Sep 2006 04:25:45 +0000 (04:25 +0000)]
2006-09-28 Hans Boehm <Hans.Boehm@hp.com>
* misc.c, gcconfig.h: Move some static checks.
* gcconfig.h: Replace --> with #error.
* gcconfig.h: M68k fixes from Debian.
hboehm [Wed, 20 Sep 2006 04:50:06 +0000 (04:50 +0000)]
2006-09-19 Hans Boehm <Hans.Boehm@hp.com>
* version.h, configure.ac, doc/README: Change version to
7.0alpha8.
* configure: Regenerate.
hboehm [Wed, 20 Sep 2006 01:11:25 +0000 (01:11 +0000)]
2006-09-19 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, version.h, doc/README: Increment version number
for 7.0alpha7 release.
* configure: Regenerate.
hboehm [Wed, 20 Sep 2006 01:08:14 +0000 (01:08 +0000)]
2006-09-19 Hans Boehm <Hans.Boehm@hp.com>
* tests/test.c (WinMain): Add message for DllMain use.
hboehm [Wed, 20 Sep 2006 01:05:35 +0000 (01:05 +0000)]
2006-09-19 Hans Boehm <Hans.Boehm@hp.com>
* misc.c: Replace ABORT with #error.
hboehm [Sun, 30 Jul 2006 18:23:47 +0000 (18:23 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* os_dep.c: Make GC_gww_dirty_init nonstatic. (Needed for
previously committed win32_threads.c change.)
hboehm [Sun, 30 Jul 2006 18:20:11 +0000 (18:20 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* doc/leak.html: Update.
hboehm [Sun, 30 Jul 2006 18:18:43 +0000 (18:18 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* tests/test.c: Call GC_use_DllMain in the win32/DLL configuration.
hboehm [Sun, 30 Jul 2006 18:16:41 +0000 (18:16 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* include/gc.h: Document and declare GC_use_DllMain for MS Windows.
hboehm [Sun, 30 Jul 2006 18:13:41 +0000 (18:13 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* win32_threads.c, include/private/gc_locks.h: Fic GC_allocate_ml
declaration.
* win32_threads.c: Various fixes and cleanups.
hboehm [Sun, 30 Jul 2006 18:06:10 +0000 (18:06 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* malloc.c (GC_free): Remove redundant tests for THREADS.
hboehm [Sun, 30 Jul 2006 18:03:18 +0000 (18:03 +0000)]
2006-07-30 Hans Boehm <Hans.Boehm@hp.com>
* gc.mak, NT_THREADS_MAKEFILE: Define GC_ASSERTIONS for DEBUG
config.
hboehm [Thu, 20 Jul 2006 05:12:54 +0000 (05:12 +0000)]
2006-07-19 Hans Boehm <Hans.Boehm@hp.com> (really Peter Wang)
* include/private/gcconfig.h: Fix PREFETCH definition for X86_64.
hboehm [Thu, 13 Jul 2006 00:24:22 +0000 (00:24 +0000)]
2006-07-12 Hans Boehm <Hans.Boehm@hp.com>
* win32_threads.c, include/private/gc_locks.h: Declare GC_allocate_ml
only in gc_locks.h, and complete declaration there.
* NT_THREADS_MAKEFILE, gc.mak: Include atomic_ops directory,
fix gc_priv.h typo.
* NT_STATIC_THREADS_MAKEFILE: Fix atomic_ops version.
hboehm [Wed, 12 Jul 2006 00:47:53 +0000 (00:47 +0000)]
2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.changes: Update.
hboehm [Wed, 12 Jul 2006 00:45:44 +0000 (00:45 +0000)]
2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_priv.h (hb_n_marks): Correct description
comment.
* reclaim.c: Fix hb_n_marks assertion.
hboehm [Wed, 12 Jul 2006 00:17:34 +0000 (00:17 +0000)]
2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
*
hboehm [Tue, 11 Jul 2006 23:33:27 +0000 (23:33 +0000)]
2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.changes: Update.
hboehm [Tue, 11 Jul 2006 18:44:37 +0000 (18:44 +0000)]
2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
* mallocx.c (GC_malloc_atomic_uncollectable): Fix two serious
editing errors.
* os_dep.c (GC_get_stack_base): Return GC_SUCCESS from default version.
* pthread_support.c (start_mark_threads): Remove dummy version.
* libatomic_ops-1.1/src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
Didn't compile.
* tests/thread_leak_test.c(test): Return something.
hboehm [Sun, 9 Jul 2006 05:45:17 +0000 (05:45 +0000)]
2006-07-08 Hans Boehm <Hans.Boehm@hp.com>
* thread_local_alloc.h: Define USE_COMPILER_TLS on Linux only for
gcc versions that support __thread.
hboehm [Fri, 7 Jul 2006 22:26:05 +0000 (22:26 +0000)]
2006-07-07 Hans Boehm <Hans.Boehm@hp.com> (really mostly Andrew Haley)
* include/gc.h, dyn_load.c: (GC_register_has_static_roots_callback):
new function.
hboehm [Fri, 7 Jul 2006 21:14:17 +0000 (21:14 +0000)]
2006-07-07 Hans Boehm <Hans.Boehm@hp.com> (really Rainer Orth)
* include/private/gcconfig.h: Initial support for Solaris/X86-64.
hboehm [Fri, 7 Jul 2006 21:10:07 +0000 (21:10 +0000)]
2006-07-07 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, Makefile.am: Move the atomic_ops.c and atomic_ops_sysdeps.S
copying hack from Makefile.am to configure.ac. Include atomic_ops_sysdeps.S
only if necessary.
* Makefile.in, configure: regenerate.
hboehm [Wed, 28 Jun 2006 23:09:13 +0000 (23:09 +0000)]
2006-06-28 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Allan Hsu)
* darwin_stop_world.c, pthread_support.c: Fix Darwin threads memory
leaks.
hboehm [Wed, 28 Jun 2006 18:40:52 +0000 (18:40 +0000)]
2006-06-28 Hans Boehm <Hans.Boehm@hp.com>
* libatomic_ops-1.1/config.guess, libatomic_ops-1.1/config.sub,
libatomic_ops-1.1/depcomp, libatomic_ops-1.1/install-sh,
libatomic_ops-1.1/missing, libatomic_ops-1.1/mkinstalldirs: update.
* configure: Regenerate.
hboehm [Wed, 28 Jun 2006 18:17:12 +0000 (18:17 +0000)]
2006-06-28 Hans Boehm <Hans.Boehm@hp.com>
* config.guess, config.sub: update.
hboehm [Wed, 7 Jun 2006 05:35:31 +0000 (05:35 +0000)]
2006-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really Petr Salinger)
* configure.ac, dyn_load.c, doc/README.changes, include/gc.h,
include/private/gcconfig.h: Add macro tests and configuration
information to support kFreeBSD + glibc.
hboehm [Sat, 3 Jun 2006 05:35:37 +0000 (05:35 +0000)]
2006-06-02 Hans Boehm <Hans.Boehm@hp.com>
* doc/README.changes: Update.
hboehm [Sat, 3 Jun 2006 00:32:24 +0000 (00:32 +0000)]
2006-06-02 Hans Boehm <Hans.Boehm@hp.com>
* os_dep.c, dyn_load.c (GC_parse_map_entry): Generalize interface.
Adjust callers.
* malloc.c (calloc): Special treatment for ld & libpthread callers.
* misc.c (GC_init_inner): Initialize library bounds for above.
* os_dep.c (GC_text_mapping): new function.
* pthread_support.c: Avoid GC during thread startup with malloc redirect.
* gcconfig.h: No longer use USE_PROC_FOR_LIBRARIES with REDIRECT_MALLOC.
hboehm [Thu, 1 Jun 2006 18:44:37 +0000 (18:44 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* Fix #if indentation.
hboehm [Thu, 1 Jun 2006 18:41:20 +0000 (18:41 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gcconfig.h: Fix malloc redirection &
USE_PROC_FOR_LIBRARIES test and comment.
Define INCLUDE LINUX_THREAD_DESCR for malloc redirection with
Linux threads.
hboehm [Thu, 1 Jun 2006 18:37:51 +0000 (18:37 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* dyn_load.c, misc.c, include/private/gc_priv.h: More consistently use
ptr_t for addresses.
* os_dep.c (GC_get_file_len, GC_get_maps_len): new functions.
(GC_get_maps): replaces GC_apply_to_maps, retry for asynchronous
removals.
(GC_enclosing_mapping): new functions.
(GC_setup_temporary_fault_handler): add locking assertion.
(GC_find_limit_with_bound): new function.
(GC_find_limit): Reimplement.
(backing_store_base_from_proc): Reimplement.
(GC_get_register_stack_base): Fix for 2.6 kernels.
(IA64 GC_get_stack_base): Avoid scanning through adjacent stack.
(GC_print_address_map): Use GC_get_maps().
* pthread_support.c: (GC_greatest_stack_base_below): new function.
(GC_segment_is_thread_stack): return boolean. On IA64 check for reg.
stacks. (INCLUDE_LINUX_THREAD_DESCR): initial support.
* misc.c: Add ptr_t and USE_PROC_FOR_LIBRARIES checks, register one
word offset with malloc redirection.
* include/private/gc_priv.h: Now need find_limit on IA64.
hboehm [Thu, 1 Jun 2006 17:40:02 +0000 (17:40 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* alloc.c: Delete explicit register declarations.
hboehm [Fri, 19 May 2006 00:58:44 +0000 (00:58 +0000)]
2006-05-18 Hans Boehm <Hans.Boehm@hp.com>
* pthread_support.c: Fix stack size sanity check for Solaris.
* specific.c: Use for non-Linux platforms.
* include/private/thread_local_alloc.h: GC-remove_specific always
takes an argument.
* configure.ac: Enable thread-local allocation on Solaris.
* configure: Regenerate.
hboehm [Fri, 19 May 2006 00:49:26 +0000 (00:49 +0000)]
2006-05-18 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Copy atomic_ops sources from subdirectory.
* Makefile.in: Regenerate.
hboehm [Fri, 19 May 2006 00:46:08 +0000 (00:46 +0000)]
2006-05-18 Hans Boehm <Hans.Boehm@hp.com>
* Makefile, Makefile.direct, Makefile.dj, PCR-Makefile, dbg_mlc.c,
dyn_load.c, os_dep.c, include/private/gcconfig.h: Rename SUNOS5
to SOLARIS.
* os_dep.c(GC_unux_get_mem): Try both sbrk and mmap.
hboehm [Sat, 6 May 2006 05:24:12 +0000 (05:24 +0000)]
2006-05-05 Hans Boehm <Hans.Boehm@hp.com>
* pthread_support.c (GC_lock): Fix AO_test_and_set calls.
(GC_start_routine): Beginnings of code to scan thread descriptors.